quertySelector返回null值是什么?

时间:2017-08-09 13:19:27

标签: javascript dom css-selectors

querySelector在搜索id" #b> a"时返回null,但getElementById返回正确的元素。发生了什么事?



var x = document.querySelector('#b>a');
console.log(x);
var y = document.getElementById("b>a");
console.log(y);

Name <input type="text" id="b>a">
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:5)

>字符在CSS选择器语法中有意义。您必须使用"#b\>a"

>是&#34;直接孩子&#34;组合器,因此普通"#b>a"选择一个<a>元素作为元素的子元素,其ID为#34; b&#34;。

答案 1 :(得分:2)

您需要转义>字符。请参阅下面的代码段

var x = document.querySelector('#b\\>a');
console.log(x);
var y = document.getElementById("b>a");
console.log(y);
Name <input type="text" id="b>a">

答案 2 :(得分:1)

按选择器查询将在字符之前查找类型,因此它将查找而不是文本a。

要使其工作,您需要使用

转义选择器
var x = document.querySelector('#b\\>a');