突出显示来自javascript: document的html.Evaluate返回空节点
Highlight html from javascript : document.evaluate returns null node
在我的index.html中有一个div,将填充从ajax请求返回到另一个网页的一些html内容。我需要突出显示由xpath确定的加载的html内容的某些特定部分。使用这里找到的解决方案中的代码,它返回一个空节点。显然,当我尝试使用引用ajax请求代码的xpath时,如下所示:
var node = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
它返回一个空节点。
我正在寻找一些有用的东西,以取代"文档"内的函数获得一个非空节点引用的代码从ajax,而不是从index.html,仍然包含空div的目的。
我需要填充的div是这样的:'div id=" mainarecontent "/div',在这里你可以找到我想要插入(https://ideone.com/bseVSF),我使用的路径是/table/tr/td/table[1]/tr/td[2]/h3[2]/text()
。document
变量是index.html,它调用js脚本。
您写的:
/table/tr/td/table[1]/tr/td[2]/h3[2]/text().
如果我在oXygen(具有XPath/XSLT等支持的XML编辑器)中打开您的文件,并且我使其有效(您引用的文件不完整/损坏),那么您的给定XPath选择文本节点"The Architecture and Datasets of Docear's Research Paper Recommender System"
(sic)。
:
我需要填充的div是:'div id=" mainarecontent "/div
我在你的XPath中没有看到任何div
,也没有在你的源HTML中看到任何id mainAreaContent
的东西,所以如果你正在搜索它,你得到null
是正确的:它不在那里。
关于XPath表达式
您展示的XPath从根目录开始。如果根目录不是<table>
,而是<html>
,则应该将其更改为包含到table
元素的路径。您展示的(不完整的)文档从<table>
开始,但我假设它是HTML页面的一部分。也许你的select表达式应该像/html/body/div/p/table...
一样开始,但是我不知道,你没有显示那部分。
- 可以't让我的if语句处理js中的html表单输入
- 如何设置html元素填充的动画
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何编写HTML输入的JS内联
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 使用javascript将动态表从一个html页面打印到另一个html页
- 通过javascript重定向html传递php变量
- 如何使Javascript动态html表及其上的事件
- 在chrome.tabs.onCreated之后加载HTML页面
- 如何在vs2002中调试html页面
- 如何使用javascript或html下载PDF格式的填写表单
- 视频HTML没有'无法在Internet Explorer 11上工作
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 使用angular重定向到html页面
- 分析高度属性时出现意外值{{specs.height}}.index.html
- 在html Select中添加搜索
- JS: difference between document.evaluate(".//html"
- 突出显示来自javascript: document的html.Evaluate返回空节点