Javascript 尝试使用querySelectorAll,但失败
我想选择第一个具有classJavascript 尝试使用querySelectorAll,但失败,javascript,jquery,zepto,Javascript,Jquery,Zepto,我想选择第一个具有classa的id <li class="a" id="1">1</li> <li class="a" id="2">2</li> <li class="a" id="3">3</li> 我使用querySelectorAll,但它的错误为 Uncaught SyntaxError: Failed to execute 'querySelectorAll' on 'Document': '.a #1' i
a
的id
<li class="a" id="1">1</li>
<li class="a" id="2">2</li>
<li class="a" id="3">3</li>
我使用querySelectorAll,但它的错误为
Uncaught SyntaxError: Failed to execute 'querySelectorAll' on 'Document': '.a #1' is not a valid selector.
我知道在jquery中,它是像
$('.a#1').remove()
那样完成的,它会工作,但我使用的是zepto,所以我必须在纯js中计算。Id名称和编号无效,但您可以像下面这样进行查询
document.querySelector('.a#\\31');
如果标识符的第一个字符是数字,则需要
根据其Unicode代码点对其进行转义。例如,代码点
因为字符1是U+0031,所以可以将其转义为\000031或
\三十一,
有关更多信息,请参阅此删除类和id之间的空格
document.queryselectoral(#1.a”)出于纯粹的兴趣,为什么queryselectoral(“.a#3”)代码>?您有id
,它应该是唯一的,所以您不能直接使用getElementById(“3”)代码>?@AdamKewley我在一个页面中为其他元素设置了其他id。不能在单个文档中重复使用id。他们被称为身份证是有原因的。嘿,我不知道你的意思。您的意思是您在同一页面的其他地方使用相同的id
?如果是这样,您可能需要重新考虑您的设计。如果id
某种程度上与您的后端相关,而不是html
元素的唯一标识符,那么您应该将其作为元数据保存;例如,3