我最初使用querySelectorAll属性来获取某些标记的节点列表,然后从这个节点列表中我使用querySelector遍历每个节点寻找与id属性的特定匹配,但结果始终为null。
var x=document.body.querySelectorAll("script");
for(var i=0;i<x.length;++i)
{
var y=x[i].querySelector("#myid");
console.log(y);
if(y!== null)
{
console.log(i+1);
}
}
我总是得到null的输出,请帮助。
答案 0 :(得分:0)
Krishna您的querySelectorAll将为您获取节点列表。您没有理由在循环中添加其他查询选择器。
var myId = document.querySelector('#myid');
var collection = document.body.querySelectorAll("script");
for (var i = 0; i < collection.length; i++) {
if (collection[i].includes(myId)) {
console.log(i+1);
}
}
答案 1 :(得分:0)
如果您想选择script
属性等于name
的{{1}}代码,请使用此代码:
myName
您可以放置尽可能多的CSS选择器来缩小搜索范围。
例如,如果您希望选择var elems = document.querySelectorAll('script[name = "myName"]');
元素作为div
元素的直接子元素,并且属性li
以name
开头且具有"abc"
{1}}和id
class
然后使用此:
someClass
以下是所有CSS Selectors的链接!