jQuery: удаление родительского тега, а не дочернего элемента этого родителя - PullRequest
1 голос
/ 09 февраля 2012

я пытаюсь удалить родительский тег, но удаление родительского тега не должно удалять их дочерний элемент. К ребенку должен прикрепиться предыдущий тег

Ниже приведен код:

<div class="mask">
<ul id="TickerT" class="news">
<ul class="tweet_list">
<li class="first odd">
<span class="tweet_time">about 8 minutes ago</a></span>
<span class="tweet_join"></span>
<span class="tweet_text">test test…</a></span>
</li>
</ul>
</ul>
</div>
</div>

По крайней мере, 5 <li>, и теперь я хочу удалить <ul class="tweet_list">.
Я пробовал это с jQuery replaceWith , но без результата.

Вот код, который я использовал с сайта
var jj = $ ("ul.tweet_list"). contents ()
$ (". tweet_list"). replaceWith (jj);

Но это не сработало.

Я хотел удалить <ul class="tweet_list">, но не <li> этого <ul>.


Помощь оценена, спасибо ..

Ответы [ 4 ]

5 голосов
/ 09 февраля 2012

Вы можете вызвать метод unwrap () для элемента списка:

$("ul.tweet_list > li").unwrap();

Это приведет к удалению элемента .tweet_list <ul> и повторному созданию элемента <li> (и его родных элементов, если есть) в элементе #TickerT <ul>.

2 голосов
/ 09 февраля 2012

Просто используйте метод .unwrap () :

$('.tweet_list').children().unwrap();

DEMO

0 голосов
/ 09 февраля 2012
var jj = $("ul.tweet_list").html()
$("ul.tweet_list").replaceWith(jj)

В jquery нет метода содержимого. Попробуйте метод html.

0 голосов
/ 09 февраля 2012

Вы можете сохранить содержимое .html() и родительский ul списка, который хотите удалить, в переменную, а затем добавить .html() к родительскому ul.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...