jQuery find / ближайший элемент li

#javascript #jquery #html #css

#javascript #jquery #HTML #css

Вопрос:

я пытаюсь динамически окружить изображение-тег ссылкой

мой случай:

 if (a === b) {
  console.log('my iamge-tag is : '   $(e).html());
}
  

в $ (e).html() на данный момент у меня есть желаемый тег изображения:

 <img class="xyz" src="http://images.zzz.com/images/123456/original.png">
  

в DOM это изображение находится в упорядоченном списке точно так же, как этот путь:

 <li class="">
  <img class="xyz" src="http://images.zzz.com/images/111111/original.png">
</li>
<li class="">
  <img class="xyz" src="http://images.zzz.com/images/222222/original.png">
</li>
<li class="">
  <img class="xyz" src="http://images.zzz.com/images/123456/original.png">
</li>
  

как я мог бы управлять им, чтобы окружить желаемый тег изображения ссылкой?

 <li class="">
  <a href="http://www.example.com"><img class="xyz" src="http://images.zzz.com/images/123456/original.png"></a>
</li>  
  

Комментарии:

1. $(e).wrap('<a href="http://www.example.com"></a>'); будет работать отлично.

2. потрясающе, я не знал wrap() — большое вам спасибо!

Ответ №1:

Используйте функцию jQuery .wrap(),

 $('img').wrap('<a href="http://www.example.com"></a>');
  

Рабочая демонстрация

  • При необходимости используйте свой конкретный img селектор вместо моего.
  • Используйте wrapAll() , если вам нужно добавить все элементы с одинаковым HTML.

Ответ №2:

функция wrap() должна работать. Я тестировал это так.

если (a == b) {

$(«li img»).wrap(«http://www.google.com ‘>»);

}