Как удалить текст внутри элемента с помощью jQuery?

У меня есть script, который создает список элементов со структурой вроде этого:

<li>
    <div>Some stuff</div>
    <a href="#" onclick="location.href='http://www.mysite.com/'; return false;">New Item</a> 
    (1 vote)
</li>

Мне было интересно, есть ли способ удалить все за пределами тегов <div> и <a>, в этом случае строку (1 голос), с jQuery или обычный javascript.

Спасибо заранее!

Ответы

Ответ 1

Это должно работать.

$("li").contents().filter(function(){ return this.nodeType != 1; }).remove();

или явно указывая текстовые узлы

$("li").contents().filter(function(){ return this.nodeType == 3; }).remove();

Смотрите fiddle.

Ответ 2

Использовать jquery nextAll

Ответ 3

$('li').not('div,a').text('') 

Попробуйте это, непроверенный

Edit

$('li').contents().filter(function(){ return !(this.tagName == 'DIV' 
                                            || this.tagName == 'A');}).remove();

Ответ 4

$('li').html($(this).children())

Вы можете попробовать это, он должен работать. Чисто и просто.