很难完成这项工作。我有以下内容:
<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,但没有用。
答案 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
。
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;