我想从以下HTML代码中的嵌套SPAN元素中获取文本:
<span id='result_box'>
<span class="hps">text_content</span>
</span>
我希望使用JavaScript获取“text_content”值。
我试过这个但有问题:
var resBox=document.getElementById('result_box');
var strTrans=resBox.getElementsByTagName('span')[0].innerHTML;
alert(strTrans);
编辑:其实我想从在线页面这样做
答案 0 :(得分:7)
您的代码运行正常。我猜你的问题是当你没有完全加载DOM时你正在执行这些代码。如果你正在测试某些东西,你可以试试这个。
window.onload = function () {
//put your code here,it will alert when page loaded completely.
};
或将脚本放在span元素之后。像这样。
<span id='result_box'>
<span class="hps">text_content</span>
</span>
<script type='text/javascript'>
var resBox=document.getElementById('result_box');
var strTrans=resBox.getElementsByTagName('span')[0].innerHTML;
alert(strTrans);// it will alert
</script>
答案 1 :(得分:2)
通过classname .. document.getElementsByClassName()
获取元素,然后从结果节点列表中获取第一个项目
window.onload = function () {
document.getElementsByClassName("hps")[0].innerHTML
};
答案 2 :(得分:1)
var resBox=document.getElementById('result_box');
var strTrans=document.getElementsByTagName('span')[0].innerText;
alert(strTrans);
或更好
strTrans = document.querySelector(".hps").innerText ;
答案 3 :(得分:1)
得到了你,我想你在你的html页面中嵌入了一个链接,然后你想在你嵌入的页面中操纵DOM,对吗?如果是这样,您可以检查浏览器相同的原始政策。
如果你想通过谷歌实现在线翻译,你可以谷歌'谷歌翻译api',谷歌提供api给其他人在他们自己的应用程序中实现在线翻译。
似乎bing也提供了一个api.i我不确定。