Javascript 对每个结果求值、迭代文本和setAttribute?
我使用这段代码来查找包含Unicode的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'); 出什么问
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再显示一帧