我有這樣的HTML節點:如何抓住內容
<div id='parent'>
<a href="#">test</a>
Need this
</div>
如何獲得,如果我有手柄parent
對象「需要這個」文字? 我試過類似:$('#parent').text()
,但它也返回'測試'。
p.s. Nothing關於編輯html!我只是有這樣的內容,我需要解析它。
我有這樣的HTML節點:如何抓住內容
<div id='parent'>
<a href="#">test</a>
Need this
</div>
如何獲得,如果我有手柄parent
對象「需要這個」文字? 我試過類似:$('#parent').text()
,但它也返回'測試'。
p.s. Nothing關於編輯html!我只是有這樣的內容,我需要解析它。
如果您知道該文本內容總是在div的最後內容,你可以這樣做:
$('#parent').contents().last().text();
這個標記:
<div id='parent'>
<a href="#">test</a>
Need this
</div>
Returns:需要此
var temp = $('#parent').clone();
temp.children().remove();
alert(temp.text());
希望我能+10這只是爲了向我展示jsfiddle.net – kshep 2011-05-06 20:03:06
這應該這樣做:
$('a').click(function(){
alert($(this).parent().clone().find('a').remove().end().text());
});
這裏有一個小提琴: http://jsfiddle.net/RTqyy/
可能不是最好的方式,我會包裹在文本一個div或跨度或p。但這會起作用。
var $text = $("#parent").contents().filter(function(){ return this.nodeType != 1; });
alert($text.text());
似乎要做的伎倆。 (jsFiddle)
爲什麼不將自己的文本包裹在段落標記或span標記中?然後嘗試獲取該文本會容易得多。 – 2011-05-06 19:53:55
@尼克請看更新。 – Ockonal 2011-05-06 19:56:43
.contents()的幫助頁面提供了一個「查找段落內所有文本節點並用粗體標記包裝它們」的示例。這可能會讓你開始走下正確的道路...... http://api.jquery.com/contents/我認爲這沒有足夠的實際上被認爲是「答案」... :-) – kshep 2011-05-06 19:57:08