简体   繁体   English

如何获取嵌套跨度HTML元素的文本?

[英]How to get Text of Nested Span HTML element?

I want to get text from Nested SPAN element in Following HTML code: 我想从以下HTML代码中的嵌套SPAN元素中获取文本:

<span id='result_box'>
<span class="hps">text_content</span>
</span>

I want to get "text_content" value using JavaScript. 我希望使用JavaScript获得“text_content”值。

I have tried this but have a problem: 我试过这个但有问题:

var resBox=document.getElementById('result_box');
var strTrans=resBox.getElementsByTagName('span')[0].innerHTML;
alert(strTrans);

EDIT: Actually i want to do this from Online Page 编辑:其实我想从在线页面这样做 在此输入图像描述在此输入图像描述

your code works fine. 你的代码工作正常。 i guess your problem is you are executing these code when DOM not loaded completely.if you are testing something, you can try this. 我猜你的问题是当你没有完全加载DOM时你正在执行这些代码。如果你正在测试某些东西,你可以试试这个。

window.onload = function () {
   //put your code here,it will alert when page loaded completely.
}; 

or put the script after your span element. 或者将脚本放在span元素之后。 like this. 像这样。

<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>

you get the element by classname.. document.getElementsByClassName() and then grabbing the first item off the resulting node list 你通过classname .. document.getElementsByClassName()获取元素,然后从结果节点列表中获取第一个项目

window.onload = function () {
   document.getElementsByClassName("hps")[0].innerHTML
};     

jsfiddle 的jsfiddle

var resBox=document.getElementById('result_box');
var strTrans=document.getElementsByTagName('span')[0].innerText;
alert(strTrans);​

or better 或更好

strTrans = document.querySelector(".hps").innerText ;

got you, i guess you embed a link in your html page,then you wanna manipulate DOM in the page you embed,right? 得到你,我想你在你的html页面中嵌入了一个链接,然后你想在你嵌入的页面中操纵DOM,对吧? if so, you can check browser same origin policy. 如果是这样,您可以检查浏览器相同的原始策略。

if you wanna implement online translation via google, you can google 'google translate api', google provides a api to others for implementing online translation in their own applications. 如果你想通过谷歌实现在线翻译,你可以谷歌'谷歌翻译api',谷歌提供api给其他人在他们自己的应用程序中实现在线翻译。

it seems like bing also provides a api.i'm not sure. 似乎bing也提供了api.i'我不确定。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM