Javascript 如何在DOM中获取标记的值

Javascript 如何在DOM中获取标记的值,javascript,jquery,html,Javascript,Jquery,Html,如何获得GENISSON.mato的值在标记中,应该是这个标记: <span class = "-label value x" id ="ExT-gen47"> GENISSON.MATOS <a href="default.aspx?ac=2"> ( Out) </a> </span> 注意:我的应用程序是在另一个应用程序的中呈现的,这个标记就是DOM中类似的标记 例如: <html> <head>

如何获得GENISSON.mato的值在标记中,应该是这个标记:

<span class = "-label value x" id ="ExT-gen47"> GENISSON.MATOS <a href="default.aspx?ac=2"> ( Out) </a> </span>
注意:我的应用程序是在另一个应用程序的
中呈现的,这个标记就是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>

如果其中始终是一个链接标记,则可以临时克隆范围并从中删除a标记,然后获取文本

代码:

如果它将是span标记中的任何标记,并且您希望排除它,则可以使用速度惩罚*选择所有标记并删除它们,然后获取文本:

var a = $('#ExT-gen47').clone();
a.find('*').remove();
alert(a.text());
更新:如果速度是一个问题,那么您也可以通过正则表达式:

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

编辑-2:从内部文档查找

var el = $('#ExT-gen47',parent.document).clone();
el.find('a').remove();
var textRequired = el.text();
我们在这里尝试使用jQuery从DOM的内部子框架中查找父元素“ExT-gen47”,即parent.document。如果两个帧不在同一个域上,则会出现跨帧脚本错误


如果它不起作用,请尝试一下。我们无法引用它们。

像这个控制台一样尝试jquery。log$Ext-gen47.text;或console.log$Ext-gen47.html;或者告诉我span的确切id您的HTML无效,因为GENISSON.MATOS在您的asorry中没有意义,HTML已更正。是否要在span中获取完整文本?由于我的文档位于另一个文档中,并且我无法获取文档值,因此它无法工作​​这就是我的答案1您的DOM中是否包含jQuery?2另一个域与您的域相同??1是,2否,是另一个域此返回错误:未捕获安全性错误:阻止来源为xxxxx的帧访问来源为yyy的帧。协议、域和端口必须匹配。正如我在回答中提到的,您将收到一个跨帧脚本错误。无法执行此操作这是浏览器安全策略,即使您在浏览器上覆盖此策略,其他计算机上的用户也会出现此错误。由于我的文档位于另一个文档中,并且我无法获取文档值,因此此策略不起作用​​这就吸引了我的注意力。您可以发布一个JSFIDLE示例,说明生成的HTML代码是什么样子的吗?我不能完全理解你在这里的评论。。。
var el = $('#ExT-gen47',parent.document).clone();
el.find('a').remove();
var textRequired = el.text();