我有以下html:
<div class="question">
<div class="text">
Blah Blah
</div>
</div>
我正在尝试使用javascript获取“Blah Blah”的值。
那样的东西?
alert(document.getElementsByName("question")[0].value);
答案 0 :(得分:5)
document.getElementsByClassName('question')[0].innerText;
或
document.querySelector('.question').innerText;
答案 1 :(得分:3)
你可以这样做
alert(document.getElementsByClassName("question")[0].children[0].innerHTML);
答案 2 :(得分:2)
此处无需依赖jQuery,请使用innerText
document.querySelectorAll('div.question')[0].innerText
答案 3 :(得分:2)
您需要先正确选择元素。它不会(也不能)具有name
属性,因此getElementsByName
是错误的。您可以使用getElementsByClassName
或(有限支持)新的querySelector
:
var div = document.querySelector('.question');
然后你需要得到它的“价值”。它不是表单控件,因此它没有value
属性。它有childNodes,你关心的是另一个div。
var childDiv = div.querySelector('.text');
如果您正在使用querySelector并且只使用后代组合器,则可以跳过这两个阶段:
var childDiv = document.querySelector('.question .text');
这个子div然后有另一个子节点,但它是一个文本节点而不是一个元素节点。你可以这样得到它:
var textNode = div.firstChild;
最后,您可以使用data
属性在textNode中获取文本。
var text = textNode.data;
如果你把它们放在一起:
alert(document.querySelector('.question .text').firstChild.data);
答案 4 :(得分:1)
$('.question').text(); // jquery
document.getElementsByClassName("question")[0].innerText; // javascript
答案 5 :(得分:1)
试试这个:document.getElementsByClassName("text")[0].innerHTML
(http://jsfiddle.net/hv9Dx/15/)
答案 6 :(得分:1)
最简单的方法是使用jquery:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
var divvalue = $('.text').html()
alert (divvalue);
您也可以更改您的html以使用ID
<div class="question">
<div id="text">
Blah Blah
</div>
</div>
并使用:
document.getElementById("text").innerHTML;
答案 7 :(得分:1)
document.querySelectorAll('.text')[0].innerHTML
答案 8 :(得分:0)
对于以下示例:
<div class="question" id="question">
<div class="text" id="text">
Blah Blah
</div>
</div>
您可以尝试获取其内部div标签的值,如下所示:
alert(document.getElementById('question').childNodes[1].innerHTML);
干杯!
答案 9 :(得分:0)
使用标准DOM属性textContent
,与innerText
不同,该属性受到广泛支持和标准化:
document.getElementsByClassName("question")[0].textContent;
如果您需要支持IE&lt; = 8,那么您有两个问题:支持document.getElementsByClassName()
和textContent
。
对于第一个问题,使用其他DOM方法(example)编写/查找按类名检索元素的函数并不太难。
对于第二种情况,您可以使用IE的innerText
属性,该属性大致(but not precisely)与textContent
相同。