如何在DOM中获取标记<span>的值

时间:2015-08-14 12:51:27

标签: javascript jquery html

如何获得该值(GENISSON.MATOS)这个Amid a&lt;跨度&GT;标签,它将是这个标签:

<span class = "-label value x" id ="ExT-gen47"> GENISSON.MATOS <a href="default.aspx?ac=2"> ( Out) </a> </span>

注意:我的应用程序正在&lt; div>在另一个应用程序中,此标记是DOM中的标记

示例:

<html>
      <head>
      </head>
      <body>
         <div>
            <span class = "-label value x" id ="ExT-gen47"> GENISSON.MATOS <a href="default.aspx?ac=2"> ( Out) </a> </span> (value of i need)
         <div>
         <div>
              <html>
               DOM OF MY APPLICATION
              </html>
       </body>
</html>

2 个答案:

答案 0 :(得分:1)

使用document.getElementById('ExT-gen47').childNodes[0].textContent

编辑 - 2:从内部文档中找到

var el = $('#ExT-gen47',parent.document).clone();
el.find('a').remove();
var textRequired = el.text();

我们在这里尝试做的是使用jQuery从内部子框架(您的DOM)我们尝试查找父'#ExT-gen47'中的parent.document元素。如果两个帧不在同一个域上,它将为您提供跨帧脚本错误。

如果它不起作用我们就无法参考它们,这是尝试。

答案 1 :(得分:0)

如果它始终是链接标记,您可以暂时克隆SPAN并从那里删除A标记,然后获取文本。

代码:

var a = $('#ExT-gen47').clone();
a.find('a').remove();
alert(a.text());

jsfiddle here

如果它在span标记中成为任何标记,并且您想要将其排除,则可以使用(但速度惩罚)*来选择那里的所有标记并将其删除,然后得到文字:

var a = $('#ExT-gen47').clone();
a.find('*').remove();
alert(a.text());

更新:如果速度有问题,那么您也可以通过正则表达式执行此操作:

var a = document.getElementById('ExT-gen47').childNodes[0].textContent.match(/[^<]+/);
alert(a);

jsfiddle here