简体   繁体   English

如何获得包含在段落元素的值 <div> 在HTML中使用JavaScript

[英]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. getElementsByClassNamegetElementsByTagName返回数组。 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM