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
Javascript 对每个结果求值、迭代文本和setAttribute?_Javascript_Xpath - Fatal编程技术网

Javascript 对每个结果求值、迭代文本和setAttribute?

Javascript 对每个结果求值、迭代文本和setAttribute?,javascript,xpath,Javascript,Xpath,我使用这段代码来查找包含Unicode的li,并为其添加颜色,问题是它只对第一个结果有效 var headings = document.evaluate("//li[contains(., '★')]", document, null, XPathResult.ANY_TYPE, null ); var thisHeading = headings.iterateNext(); thisHeading.setAttribute('style', 'color: #f1c40f'); 出什么问

我使用这段代码来查找包含Unicode的
li
,并为其添加颜色,问题是它只对第一个结果有效

var headings = document.evaluate("//li[contains(., '★')]", document, null, XPathResult.ANY_TYPE, null );
var thisHeading = headings.iterateNext();
thisHeading.setAttribute('style', 'color: #f1c40f');

出什么问题了?

您需要在它上面循环,以便在所有迭代中都这样做

像这样

var thisHeading = headings.iterateNext();
while (thisHeading) {
  thisHeading.setAttribute('style', 'color: #f1c40f');
  thisHeading = headings.iterateNext();
}

而不是
XPathResult。任何类型
使用
XPathResult.ORDERED\u NODE\u SNAPSHOT\u TYPE

var headers=document.evaluate(//li[contains(,)★')]", 文档,null,XPathResult.ORDERED\u节点\u快照\u类型,null);
对于(var i=0;i
(索引):711未捕获的DomeException:未能对“XPathResult”执行“iterateNext”:自返回结果后,文档已发生变异。at(anonymous)@(索引):711再显示一帧