使用jQuery在其id中选择带百分号(%)的元素

时间:2013-12-21 04:18:15

标签: javascript jquery html

我有一个像这样的元素:

<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选择它?

3 个答案:

答案 0 :(得分:9)

您可以使用属性选择器,在引号中给出id将获得确切的ID。

<强> Live Demo

$('[id="my%20id"]')

答案 1 :(得分:3)

使用值得信赖的document.getElementById

$(document.getElementById("my%20id")).text();

性能应该比使用属性选择器更好,因为您依靠本机方法调用来查找id。如果这是一个问题,它比其他解决方案更冗长。

答案 2 :(得分:2)

实际上你需要在这里逃避:

$("#my\\%20id").text("HI");

\%不是有效的转义符,您希望\\%能够正确转义并获得正确的ID。

您可以查看an example on jsFiddle