Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML DOM Text()节点_Javascript_Jquery_Html_Dom - Fatal编程技术网

Javascript HTML DOM Text()节点

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

给定文本节点或Xpath的路径,我需要获取元素的句柄
我使用以下方法返回元素。

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;})可能会做你想做的,但我不确定。你的问题让我有点困惑。啊,是的,让我更新一下不起作用的例子:)