jquery选择具有多个id的元素

时间:2013-04-08 05:13:31

标签: javascript jquery

我必须选择一个元素,它的id由mysql分配,它看起来像这样:id="Monza ( Italien )5"它适用于其他元素因为只有一个名称,但在这种情况下它是城市名称然后是国家的名字。我尝试选择这样$('#Monza'),但它不起作用。

3 个答案:

答案 0 :(得分:4)

您可以使用属性选择器:

$('*[id="Monza ( Italien )5"]')

The spec表示id属性不能包含空格,因此我会修复您的HTML。如果您的HTML无效,浏览器可能不会合作。

答案 1 :(得分:3)

不要使用空格或括号,它们对ID属性无效

  

ID令牌必须以字母([A-Za-z])开头,然后可以跟随   任意数量的字母,数字([0-9]),连字符(“ - ”),下划线   (“_”),冒号(“:”)和句号(“。”)。

以及HTML 4.01和HTML5之间的区别:

  

HTML 4.01规范声明ID令牌必须以字母开头   ([A-Za-z])并且可以跟随任意数量的字母,数字   ([0-9]),连字符( - ),下划线(_),冒号(:)和句点(。)。   对于class属性,没有这样的限制。类名可以   包含任何字符,并且它们不必以字母开头   是有效的。

     

HTML5摆脱了对id属性的额外限制。该   只剩下要求 - 除了在文件中是独一无二的 - 是   该值必须至少包含一个字符(不能为空),   并且它不能包含任何空格字符。

但如果你没有其他选择,你可以试试:

$("div[id='Monza ( Italien )5']")

$('#id')不同,如果您的页面中有多个具有相同ID的元素,则会返回多个元素


似乎上面的选择器不起作用,您需要在此处手动转义无效字符才能使其正常工作:

$("#Monza\\ \\(\\ Italien\\ \\)5")

Working Demo

答案 2 :(得分:0)

Id之间不应有空格,请检查here。您可以使用_之类的字符来加入ID部分。

更改

id="Monza ( Italien )5"

对某些事情如

id="Monza_Italien_5"