Как захватить контент - PullRequest
2 голосов
/ 06 мая 2011

У меня есть такой узел HTML:

<div id='parent'>
   <a href="#">test</a>
   Need this
</div>

Как получить текст «Нужен этот», если у меня есть дескриптор для объекта parent? Я пробовал что-то вроде: $('#parent').text(), но он также возвращает 'test'.


p.s. Ничего о редактировании HTML! У меня просто есть такой контент, и мне нужно его проанализировать.

Ответы [ 4 ]

6 голосов
/ 06 мая 2011
var temp = $('#parent').clone();
temp.children().remove();
alert(temp.text());

рабочий пример: http://jsfiddle.net/hunter/H6jQp/

4 голосов
/ 06 мая 2011

Если вы знаете, что текстовое содержимое всегда является последним содержимым в div, вы можете сделать:

$('#parent').contents().last().text();

для этой разметки:

<div id='parent'>
   <a href="#">test</a>
   Need this
</div>

Возвращает: Нужно это

Образец: http://jsfiddle.net/64RVf/

0 голосов
/ 07 мая 2011
var $text = $("#parent").contents().filter(function(){ return this.nodeType != 1; });
alert($text.text());

Кажется, чтобы сделать трюк. ( jsFiddle )

0 голосов
/ 07 мая 2011

это должно сделать это:

$('a').click(function(){
   alert($(this).parent().clone().find('a').remove().end().text());
});

вот скрипка: http://jsfiddle.net/RTqyy/

вероятно, не самый лучший способ, я бы обернул этот текст в div, span или p. но это сработает.

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