JQuery развернуть, удалив неправильные контейнеры - PullRequest
2 голосов
/ 06 марта 2012

Очевидно, что это синтаксическая ошибка с моей стороны.

У меня есть большое количество элементов div, где небольшое количество из них имеет содержимое, завернутое в якорь.то, что я пытаюсь сделать, это удалить якоря.

спасибо за вашу помощь!

http://jsfiddle.net/danielredwood/rg6n6/

Желаемый HTML:

<div class="box"><a href="#"><img src="#"></a></div>
// becomes:
<div class="box"><img src="#"></div>

JavaScript:

$('.box img').unwrap('<a>');

Ответы [ 4 ]

6 голосов
/ 06 марта 2012

Это то, что вы ищете?

$('.box a img').unwrap()

.unwrap() не имеет аргументов, он просто удаляет родительский тег соответствующего селектора. Таким образом, выбрав тег img непосредственно под a, вы освобождаете его от привязки, как вы и хотели.

5 голосов
/ 06 марта 2012

Попробуйте:


$('button').click(function(){
    $('.box a').contents().unwrap();
});

1 голос
/ 21 июня 2017

Начиная с версии Jquery 3.0, вы можете указать селектор.См. jquery API

0 голосов
/ 06 марта 2012

Попробуйте использовать следующий JavaScript:

$('.box').each(function(){
   $(this).html($(this).find('a').html());
});
...