我知道这可能非常基本,但我使用JavaScript的能力很差。
以下是我的HTML代码:
<div class="request">
<h4>Request a Free Consultation</h4>
<p>XXX-XXX-XXXX</p>
</div>
使用JavaScript,我希望获得<p>
元素中包含的文本。
我正在尝试以下方式,但它给了我undefined
错误。
var x = document.getElementsByClassName("request");
var pText = x.getElementsByTagName("P").innerHTML;
alert(pText);
有人能引导我朝正确的方向前进吗?
编辑:以下是尝试上述代码的小提琴链接: http://jsfiddle.net/Scoobler/ua9zN/
答案 0 :(得分:3)
getElementsByClassName
和getElementsByTagName
返回数组。所以你还需要添加索引:
var x = document.getElementsByClassName("request");
var pText = x[0].getElementsByTagName("P")[0].innerHTML;
^ ^
alert(pText);
答案 1 :(得分:1)
您只需使用querySelectorAll
。
var pText = document.querySelectorAll('.request p')[0];
答案 2 :(得分:0)
var x = document.getElementsByClassName("request");
以上行返回NodeList
。它喜欢 Array ,可以使用索引检索其元素。 getElementsByTagName
也会返回相同内容。
for(var i = 0; i < x.length; i++)
alert(x[i].getElementByTagsName('p')[0].innerHTML); // [0] to get <p>