如何从
获取文本值<div style="margin-top:15px;" class="shortHeader" id="someid">
<div>
<h4 id="someidvalue">text</h4>
</div>
</div>
我尝试使用以下代码,并说明未定义:
document.getElementById("someid").getElementsByTagName("div")[0]
.getElementsByTagName("h4")[0].innerHTML;
答案 0 :(得分:1)
答案 1 :(得分:0)
你可以这样做:
var data=document.getElementById("someidvalue").innerHTML
console.log(data);
检入控制台......您是否获得了正确的数据
答案 2 :(得分:0)
虽然所有的document.getElementById帖子都可以正常运行,但我只想为您提供更新的浏览器,让您对选择非常具体。
var text = document.querySelector("#someid div h4").innerHTML;
alert(text);
答案 3 :(得分:0)
H4元素可能包含标记,例如
<h4>Jones, Smith, <em>et al</em></h4>
因此,如果您希望标记使用innerHTML。但是,如果您只想要文本和任何子元素的文本,请根据简单的测试使用W3C textContent 或IE innerText 属性:
var element = document.getElementById("someidvalue");
var text = element.textContent || element.innerText || '';
如果您不确定元素是否存在,请先测试它:
var text = element && element.textContent || element.innerText || '';
因此,如果未找到任何元素或者(可能为空)字符串,则文本将为null;