我有一个像这样的元素:
<a id="my%20id" href="#">hello</a>
我一直在拼命地用jQuery选择它,但不能。我试过了:
$('a#my id') // obviously won't work
$('a#my\ id') // no such luck
$('a#my%20id') // unrecognized expression
$('a#my\%20id') // still unrecognized
$('a#' + encodeURIComponent('my id')) // same thing as 'a#my%20id'
是否可以使用jQuery选择它?
答案 0 :(得分:9)
答案 1 :(得分:3)
使用值得信赖的document.getElementById
:
$(document.getElementById("my%20id")).text();
性能应该比使用属性选择器更好,因为您依靠本机方法调用来查找id
。如果这是一个问题,它比其他解决方案更冗长。
答案 2 :(得分:2)
实际上你需要在这里逃避:
$("#my\\%20id").text("HI");
\%
不是有效的转义符,您希望\\%
能够正确转义并获得正确的ID。
您可以查看an example on jsFiddle。