我正试图找到一种方法来获取文本跟随元素,在JavaScript中,但没有经典的解决方法。我的标记是:
<div class='el'>
<span class='fa fa-user'></span> Dollynho
</div>
我只想要“Dollynho”这个词,但没有分割.el
的innerHTML。我可以这样做:
var xs = document.getElementsByClassName('el')[0]
console.log(xs.split('>')[2].trim()) # => "Dollynho"
我能以更干净的方式做到吗? (No-regex,请)
提前致谢!
答案 0 :(得分:1)
var xs = document.getElementsByClassName('el')[0];
xs.innerText;
在Firefox中,您可能需要使用textContent
答案 1 :(得分:1)
遍历所有childNodes并获取text类型的子节点的内容,然后删除spureous \ n
var childNodes = document.getElementsByClassName('el')[0].childNodes;
var textContent = "";
for(var i=0; i<childNodes.length; i++) {
if(childNodes[i].nodeType==3 ) {
textContent+=childNodes[i].data;
}
}
textContent= textContent.replace(/\r?\n|\r/g,"");
答案 2 :(得分:0)
如果您想要检索.el类的html,请在脚本代码中使用它:
var x = $(“。el”)。html();
答案 3 :(得分:0)
您可以使用jquery
获取文本$(".el").text()
答案 4 :(得分:0)
根据您的IE支持需求,您可以使用textContent https://developer.mozilla.org/en-US/docs/Web/API/Node.textContent
var xs = document.getElementsByClassName('el')[0]
console.log(cs.textContent) # => "Dollynho"
IE有.innerText,其工作方式类似,但有一些注意事项(在上面的textContent页面上描述)
http://msdn.microsoft.com/en-us/library/ie/ms533899(v=vs.85).aspx