对于使用纯JS解决这个问题,我有些偏爱,但是如果jQuery版本更简单,那么jQuery也可以。实际上情况是这样的
<span id="thisone">
The info I want
<span id="notthisone">
I don't want any of this nonsense
</span>
</span>
我实际上想得到
The info I want
但不是The info I want I don't want any of this nonsense
我特别不想The info I want <span id="notthisone"> I don't want any of this nonsense </span>
不幸的是,这就是我现在得到的...我该怎么做?
最佳答案
仅使用js:
试用: http://jsfiddle.net/g4tRn/
var result = document.getElementById('thisone').firstChild.nodeValue;
alert(result);
使用jQuery:
试用: http://jsfiddle.net/g4tRn/1
var result = $('#thisone').contents().first().text();
alert(result);
奖励:
如果要获取的外部
<span>
中还有其他文本节点,则可以执行以下操作:试用: http://jsfiddle.net/g4tRn/4
var nodes = document.getElementById('thisone').childNodes;
var result = '';
for(var i = 0; i < nodes.length; i++) {
if(nodes[i].nodeType == 3) { // If it is a text node,
result += nodes[i].nodeValue; // add its text to the result
}
}
alert(result);
关于javascript - 在没有子元素的情况下获取元素的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3172166/