如何使用JavaScript </div>获取HTML中<div>中包含的Paragraph元素的值

时间:2014-12-31 14:04:52

标签: javascript html dom

我知道这可能非常基本,但我使用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/

3 个答案:

答案 0 :(得分:3)

getElementsByClassNamegetElementsByTagName返回数组。所以你还需要添加索引:

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>