可能重复:
How do I select text nodes with jQuery?如何使用jQuery选择DOM中的文本节点?
我有以下HTML:
<div id="main">17.00<span>%</span></div>
我想选择17.00
部分,但是当我用$('#id:first-child').html();
它不工作。我怎样才能选择它?
可能重复:
How do I select text nodes with jQuery?如何使用jQuery选择DOM中的文本节点?
我有以下HTML:
<div id="main">17.00<span>%</span></div>
我想选择17.00
部分,但是当我用$('#id:first-child').html();
它不工作。我怎样才能选择它?
jQuery的不给多少直接与文本节点的工作,所以你可以做这样的:
$('#main')[0].firstChild
的[0]
从jQuery对象获得的第一个DOM元素,并使用原生firstChild
财产获取文本节点。
要获取节点的文本内容,请添加.data
或.nodeValue
。
$('#main')[0].firstChild.data; // 17.00
$('#main')[0].firstChild.nodeValue; // 17.00
的另一种方法是...
$('#main')[0].childNodes[0]
+1 - 不错 - 再次 – 2011-12-22 02:15:53
@AdamRackis ... :) – 2011-12-22 02:18:36
jQuery的没有太大的帮助与文本节点。你可以用这个JavaScript的“17.00”文本:
var text = document.getElementById("main").firstChild.nodeValue;
如果你真的想使用jQuery(虽然没有任何理由,我所知道的),你可以这样做:
var text = $("#main").get(0).firstChild.nodeValue;
你可以看到它在这里工作:http://jsfiddle.net/jfriend00/EAwCB/
不会说这是重复的。这个问题:获得一个明确指定的文本节点,显式*排除*邻居节点的文本内容。链接[如何选择文本节点与jQuery?](http://stackoverflow.com/questions/298750/how-do-i-select-text-nodes-with-jquery)要求*所有*文本节点后代,递归。这个问题和最重要的答案为我解决了它。 – 2013-12-12 18:37:06