按类名访问Div,使用javascript

时间:2015-11-28 05:58:00

标签: javascript html

我无法使用javascript访问div中的这些数据。

<div class="questions-text-alignment whiteTextWithShadow question-size-v4">
  DATA HERE
</div>

有什么建议吗?

5 个答案:

答案 0 :(得分:1)

方式1

您可以通过以下方式使用jQuery访问数据:

<script>
$(document).ready(function(){
    var data = $(".questions-text-alignment").html();
    alert(data);
})
</script>

方式2

没有jQuery:

<script>
    var data = document.getElementsByClassName("questions-text-alignment");
    alert(data[0].innerHTML);
</script>

答案 1 :(得分:0)

您可以使用document.getElementsByClassName()进行访问,但问题是您将获得一个数组对象。使用阵列你必须找到你的。在下面的示例中,我假设只有一个类可用。

 var arr = document.getElementsByClassName("question-size-v4");

 alert(arr[0].innerHTML);

DEMO

答案 2 :(得分:0)

您可以尝试这样

&#13;
&#13;
<script>
    function getHtml() {
        var html = document.getElementsByClassName("questions-text-alignment")[0];
        alert(html.innerHTML);
    }

</script>
&#13;
<div class="questions-text-alignment whiteTextWithShadow question-size-v4">
    DATA HERE
</div>
<input type="button" name="click" value="click" onclick="getHtml()" />
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您应该使用Id在此方案中选择元素 - DEMO

<script>
function changeData() { 
    document.getElementById('contentDiv').innerHTML= "Updated Content";
}
</script>

<body>
  <div id="contentDiv">
    Content Of My Div
  </div> </br>
  <input type = "button" onClick = "changeData()" 
   value = "change div text" />
</body>

答案 4 :(得分:-1)

@StevenTang我完全陷入了同样的问题,这是我的解决方案。

document.getElementsByClassName("question-size-4")

在完整的HTML文档加载时工作正常,并且只有在您拥有此类名称标识的单个DIV对象时才能正常工作。

否则,您可以通过ChromeTools获取HTMLCollection对象,以便在Web浏览器中打开。

识别单个DIV对象,包括您的班级名称和数据此处使用Firebug并选择您的数据并通过鼠标右键单击(子菜单选择)在Firebug中打开。

选择并识别您的DIV对象以包含您的班级名称后,您的数据将在console.log(Chrome工具)中打开,单击HTMLCollection,您将获得由索引(自然数)标识的每个DIV对象,如数组。 / p>

选择正确的索引(自然数),您可以通过

访问数据
elements = document.getElementsByClassName("question-size-4");

DataHere = elements[correct DIV index].innerHTML   or .innerText

你需要操纵

x = elements.length;

首先要知道您的班级名称所识别的任何此类DIV对象是否确实存在并已下载。

如果x = 0,则表示HTMLCollection为空,elements.innerHTML生成未定义的字符串

如果x = 1,则只有一个DIV由您的班级名称识别,所以 elements.innerHTML应该可以正常工作

如果x> 1;你有更多的DIV对象由你的类名识别,所以你需要从数组数据stracture中选择正确的对象,输入正确的索引,如上所述。

我花了几个月的时间来研究这个问题并找到正确答案。

谢谢