Javascript HTML DOM Text()节点
给定文本节点或Xpath的路径,我需要获取元素的句柄Javascript HTML DOM Text()节点,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,给定文本节点或Xpath的路径,我需要获取元素的句柄 我使用以下方法返回元素。 result.singleNodeValue返回null如果存在多个子节点,我可以将它们合并为一个吗 function xpathElement(expr) { var resolver = function (prefix) { if ("xhtml" == prefix) { return "http://www.w3.org/1999/xhtml";
我使用以下方法返回元素。
result.singleNodeValue代码>返回null如果存在多个子节点,我可以将它们合并为一个吗
function xpathElement(expr) {
var resolver = function (prefix) {
if ("xhtml" == prefix) {
return "http://www.w3.org/1999/xhtml";
}
}
var result = document.evaluate(expr, document, resolver, 9, null)
console.log("function xpathElement: possible multiple nodes:");
console.log(result);
result = result.singleNodeValue;
console.log("function xpathElement: singleNodeValue:");
console.log(result);
return result;
}
作品:
当我传入以下内容时,返回一个文本节点
/xhtml:html[0001]/xhtml:body[0001]/xhtml:div[0002]/xhtml:div[0001]/text()[0001]
不起作用:
当我传入以下内容时,它返回null
/xhtml:html[0001]/xhtml:body[0001]/xhtml:div[0002]/text()[0003]
这是我正在使用的html
2)在斜体文本上选择
+++++++++++++++++ ancestor xpath element: [object Text]
+++++++++++++++++ ancestor xpath element: [object Text]
+++++++++++++++++ ancestor xpath element: null
3)在斜体文本后选择
+++++++++++++++++ ancestor xpath element: [object Text]
+++++++++++++++++ ancestor xpath element: [object Text]
+++++++++++++++++ ancestor xpath element: null
是的,这很明显,因为在下面的代码中没有浏览器无法识别的测试
<div class="fmhT">
<b class="calibre3">INTRODUCTION</b>
</div>
介绍
仅此而已。这是复制粘贴问题吗?您的“有效”和“无效”示例完全相同。$('.fmtx')。innerText
将获取所有的子文本。$('.fmtx')。text(函数(文本){return text;})代码>可能会做你想做的,但我不确定。你的问题让我有点困惑。啊,是的,让我更新一下不起作用的例子:)