如何在javascript中从相同的多个div类名中获取特定值?

时间:2018-03-30 07:15:01

标签: javascript html getelementsbyclassname

这是HTML:

<div class="hMZdhd">Additional access
  <div class="OcFGjf">
  <div role="listitem" class="wnt0Xd">View your approximate age</div>                         
  <div role="listitem" class="wnt0Xd">View your language preferences</div>
</div>
</div>
<div class="hMZdhd">March 20, 12:06 PM</div>

我想访问div类“hMZdhd”的一个值,但是我的javascript代码返回名为“hMZdhd”的类的所有值。

这是我的示例javascript代码:

document.getElementsByClassName("hMZdhd")[0].innerHTML

输出应为: 3月20日下午12:06

任何帮助将不胜感激 感谢

4 个答案:

答案 0 :(得分:2)

您要显示的元素位于类选择返回的数组的最后一个索引(.length - 1),

[0]返回与类hMZdhd匹配的第一个元素(即<div class="hMZdhd">Additional access[…]</div>)。

&#13;
&#13;
var elms = document.getElementsByClassName("hMZdhd");
console.log(elms[elms.length - 1].innerHTML)
&#13;
<div class="hMZdhd">Additional access
  <div class="OcFGjf">
  <div role="listitem" class="wnt0Xd">View your approximate age</div>                         
  <div role="listitem" class="wnt0Xd">View your language preferences</div>
</div>
</div>
<div class="hMZdhd">March 20, 12:06 PM</div>
&#13;
&#13;
&#13;

您可以尝试console.log(document.getElementsByClassName("hMZdhd"))显示getElementsByClassName("hMZdhd")在这种情况下返回的完整数组。它经常有用。

答案 1 :(得分:2)

由于您需要具有该类的最后div的内容,您可以计算最后div项的索引并获取如下内容:

var element = document.getElementsByClassName("hMZdhd");
var val = element[element.length-1].innerHTML;
console.log(val);
<div class="hMZdhd">Additional access
  <div class="OcFGjf">
  <div role="listitem" class="wnt0Xd">View your approximate age</div>                         
  <div role="listitem" class="wnt0Xd">View your language preferences</div>
</div>
</div>
<div class="hMZdhd">March 20, 12:06 PM</div>

答案 2 :(得分:1)

您需要在最后一个索引上使用 innerText 而不是 innerHTML

您的代码:

document.getElementsByClassName("hMZdhd")[0].innerHTML

您想要的代码:

var items = document.getElementsByClassName("hMZdhd");
var outputYouWant = items[items.length-1].innerText;

编辑:编辑代码以获取最后一项。 BTW innerText是问题输出的最真实答案,而不是innerHTML。

答案 3 :(得分:0)

这是你想要的吗?

&#13;
&#13;
var div = document.getElementsByClassName("hMZdhd")[0];
div.style.display = "none";
&#13;
<div class="hMZdhd">Additional access
  <div class="OcFGjf">
  <div role="listitem" class="wnt0Xd">View your approximate age</div>                         
  <div role="listitem" class="wnt0Xd">View your language preferences</div>
</div>
</div>
<div class="hMZdhd">March 20, 12:06 PM</div>
&#13;
&#13;
&#13;