如何检索HTMLCollection中每个项目的文本节点?

时间:2015-08-07 14:17:43

标签: javascript jquery

很难完成这项工作。我有以下内容:

<p class='abc'>text 1</p>
<p class='abc'>text 2</p>

然后我尝试了类似的东西:

var texts = document.getElementsByClassName('abc');

for(var i=0;i < texts.length; i++){
   console.log(texts[i].text);
}

但它不起作用。也试过Jquery,但没有用。

3 个答案:

答案 0 :(得分:2)

您正在寻找的属性是textContent

var texts = document.getElementsByClassName('abc');

for(var i=0;i < texts.length; i++){
   console.log(texts[i].textContent);
}

但是,较旧的IE版本仅支持non-standard innerText attribute,因此您可能需要回归:

var texts = document.getElementsByClassName('abc');

for(var i=0;i < texts.length; i++){
   console.log(texts[i].textContent || texts[i].innerText);
}

如果 使用jQuery,那么text()

$(".abc").each(function() {
    console.log($(this).text());
});

答案 1 :(得分:1)

你差不多了。

而不是:

console.log(texts[i].text);

你想:

console.log(texts[i].innerHTML);

答案 2 :(得分:0)

您需要使用.textContent

&#13;
&#13;
var texts = document.getElementsByClassName('abc');
for(var i=0;i < texts.length; i++){
   alert(texts[i].textContent);
}
&#13;
<p class='abc'>text 1</p>
<p class='abc'>text 2</p>
&#13;
&#13;
&#13;