[英]How to get value of Paragraph element contained in <div> in HTML using JavaScript
I know this can be very basic but I'm very poor in using JavaScript. 我知道这可能是非常基本的,但是我在使用JavaScript方面很差。
Following is my HTML Code : 以下是我的HTML代码:
<div class="request">
<h4>Request a Free Consultation</h4>
<p>XXX-XXX-XXXX</p>
</div>
Using JavaScript, I want to get text contained in <p>
element. 使用JavaScript,我想获取
<p>
元素中包含的文本。
I am trying in the following way, but it's giving me undefined
error. 我正在尝试以下列方式,但它给了我
undefined
错误。
var x = document.getElementsByClassName("request");
var pText = x.getElementsByTagName("P").innerHTML;
alert(pText);
Can anyone lead me in the right direction? 谁能引导我正确的方向?
EDIT : Here is the fiddle link to try above code : http://jsfiddle.net/Scoobler/ua9zN/ 编辑 :这是尝试上面的代码的小提琴链接: http : //jsfiddle.net/Scoobler/ua9zN/
getElementsByClassName
and getElementsByTagName
return arrays. getElementsByClassName
和getElementsByTagName
返回数组。 So you need to add indexes as well: 因此,您还需要添加索引:
var x = document.getElementsByClassName("request");
var pText = x[0].getElementsByTagName("P")[0].innerHTML;
^ ^
alert(pText);
您可以简单地使用querySelectorAll
。
var pText = document.querySelectorAll('.request p')[0];
var x = document.getElementsByClassName("request");
The above line returns NodeList
. 上一行返回
NodeList
。 It's like an Array , whose elements can be retrieved using the index. 就像 Array一样 ,可以使用索引检索其元素。
getElementsByTagName
too returns the same. getElementsByTagName
也返回相同的内容。
for(var i = 0; i < x.length; i++)
alert(x[i].getElementByTagsName('p')[0].innerHTML); // [0] to get <p>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.