如何使用javascript访问Div标记的内部文本? 你好 警报(document.getElementsByClassName('main_box').childNodes[1].innerHTML);

如何使用javascript访问Div标记的内部文本? 你好 警报(document.getElementsByClassName('main_box').childNodes[1].innerHTML);,javascript,html,Javascript,Html,我想参考“main_box”类来获取“div_l”类的内部内容。 我尝试过上面的代码,但它不起作用。如下: <div class="main_box"> <div class="div_r"> <div class="div_l">Hello</div> </div> </div> <script> alert(document.getElementsByClassName('main_box')

我想参考“main_box”类来获取“div_l”类的内部内容。 我尝试过上面的代码,但它不起作用。

如下:

<div class="main_box">
  <div class="div_r">
    <div class="div_l">Hello</div>
  </div>
</div>
<script>
alert(document.getElementsByClassName('main_box').childNodes[1].innerHTML);
</script>

您需要知道要从哪个节点获取子节点,因为gEBCN()返回一个节点列表,而不仅仅是一个节点。

使用jQuery怎么样

示例:

alert(document.getElementsByClassName('main_box')[0].childNodes[1].innerHTML
                                                 ^^^--
在:


有不同的变体可以实现这一点。正如前面所回答的,您可以使用GetElementsByCassName,唯一遗漏的是该函数返回一个数组

$('.main_box .div_l').text()
更新的语法(ie<9不支持)是:

a) 如果您需要多个元素:

 document.getElementsByClassName('main_box')....
b) 如果您希望最多有一个:

 document.querySelectorAll('.main_box .div_r .div_l')[0].innerHTML

不,它不工作并给出错误“无法读取未定义的属性childNodes”@PoojaDesai您错了,它正在工作:这里可能有另一个问题?不,它不工作并给出错误“无法读取未定义的属性childNodes”@PoojaDesai我已更正该示例。它必须是索引为1的子节点。然后它就可以工作了,但是document.querySelectorAll会更快。
 document.getElementsByClassName('main_box')....
 document.querySelectorAll('.main_box .div_r .div_l')[0].innerHTML
 document.querySelector('.main_box .div_r .div_l').innerHTML