1

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

4

3 回答 3

4

您也许可以使用属性选择器:

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

规范说该id属性不能包含空格,所以我会修复你的 HTML。如果您的 HTML 无效,浏览器可能不会合作。

于 2013-04-08T05:15:48.367 回答
3

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

ID 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 ("_")、冒号(":") 和句点 (".")。

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

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

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

但是如果您别无选择,您可以尝试:

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

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


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

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

Working Demo

于 2013-04-08T05:15:31.747 回答
0

Id 之间不应有空格,请在此处查看。您可以使用一些字符_来加入 id 部分。

改变

id="Monza ( Italien )5"

对于一些事情,比如

id="Monza_Italien_5"
于 2013-04-08T05:15:10.203 回答