Javascript 如何使用Jquery检索元素的textnode而不获取降序元素textnodes?
Javascript 如何使用Jquery检索元素的textnode而不获取降序元素textnodes?,javascript,jquery,Javascript,Jquery,我只想检索文本“域名” 我尝试过使用$('a').text(),但这也会得到降序SPAN标记中的文本。有没有办法只选择标记中的第一个文本节点 我不知道怎么做 .contents('not:(span')也不起作用。您可以使用DOM方法: var el = document.getElementById("your_element_id"); var child, textBits = []; for (var i = 0; i < el.childNodes.length; ++i) {
我只想检索文本“域名”
我尝试过使用$('a').text(),但这也会得到降序SPAN标记中的文本。有没有办法只选择标记中的第一个文本节点
我不知道怎么做
.contents('not:(span')也不起作用。您可以使用DOM方法:
var el = document.getElementById("your_element_id");
var child, textBits = [];
for (var i = 0; i < el.childNodes.length; ++i) {
child = el.childNodes[i];
if (child.nodeType == 3) {
textBits.push(child.nodeValue);
}
}
window.alert( textBits.join("") );
var el=document.getElementById(“您的元素id”);
变量子项,textBits=[];
对于(变量i=0;i
您可以只使用DOM方法:
var el = document.getElementById("your_element_id");
var child, textBits = [];
for (var i = 0; i < el.childNodes.length; ++i) {
child = el.childNodes[i];
if (child.nodeType == 3) {
textBits.push(child.nodeValue);
}
}
window.alert( textBits.join("") );
var el=document.getElementById(“您的元素id”);
变量子项,textBits=[];
对于(变量i=0;i
我找到了一条路
$('a').get(0.firstElementChild.firstChild.wholeText代码>我找到了一个方法
$('a').get(0.firstElementChild.firstChild.wholeText代码>根据我对问题的回答,这应该适合您。this.nodeType==3确定它是文本节点。目前,这将获取所有文本节点的文本(但适用于您的示例)。如果在跨度之后有文本节点,则必须修改此项以仅获得第一个节点
var text = $('a')
.contents()
.filter(function() {
return this.nodeType == 3;
//return this.nodeType == Node.TEXT_NODE; this works unless using IE 7
})
.text();
根据我对这个问题的回答,这应该适合你们。this.nodeType==3确定它是文本节点。目前,这将获取所有文本节点的文本(但适用于您的示例)。如果在跨度之后有文本节点,则必须修改此项以仅获得第一个节点
var text = $('a')
.contents()
.filter(function() {
return this.nodeType == 3;
//return this.nodeType == Node.TEXT_NODE; this works unless using IE 7
})
.text();
哇!这可能是特定于firefox的代码,在IE.Wops中不起作用!这可能是特定于firefox的代码,在IE中不起作用。谢谢,我尝试了你的方法,它成功了。我改进了它,因为我知道它是第一个子节点.get(0).firstChild.nodeValue谢谢,我试过你的方法,效果很好。我改进了它,因为我知道它是第一个子节点.get(0).firstChild.nodeValue代码>