Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
在html文档中通过xpath和javascript获取标记内的文本_Javascript_Xpath - Fatal编程技术网

在html文档中通过xpath和javascript获取标记内的文本

在html文档中通过xpath和javascript获取标记内的文本,javascript,xpath,Javascript,Xpath,因此,我试图获取列表中标记内部的文本 让我说我有 <div>text1</div> <div>text2</div> <div>text3</div> <div>text4</div> <div>text5</div> <div>text6</div> text1 文本2 文本3 文本4 文本5 文本6 因此,我想得到与“text4”匹配的DIV的“

因此,我试图获取列表中标记内部的文本

让我说我有

<div>text1</div>
<div>text2</div>
<div>text3</div>
<div>text4</div>
<div>text5</div>
<div>text6</div>
text1
文本2
文本3
文本4
文本5
文本6
因此,我想得到与“text4”匹配的DIV的“number”,例如,它将返回一个“4”。 我不能修改html,divs中没有类或ID。 也许我可以得到一个div的innerHTML?但是我怎么把所有的div放在向量或类似的东西里面呢


提前感谢

这里有一种按标记名处理元素的方法:

var divs = document.getElementsByTagName("div");
for (var i = 0; i < divs.length; i++) {
    var html = divs[i].innerHTML;
    console.log(html);
}
var divs=document.getElementsByTagName(“div”);
对于(变量i=0;i
演示:

在XPath中,这是

count(//div[.='text4']/preceding-sibling::*) + 1

顺便说一句,“text4”不在任何标签中;它位于两个标记之间,一个开始标记和一个结束标记。我之所以提到这一点,是因为如果您学习官方词汇表,您会发现更容易理解规范和错误消息。

您可以使用jQuery之类的工具吗?使用CSS选择器更容易。