用于不常见标记ID的jQuery选择器

时间:2011-07-15 15:23:57

标签: jquery-selectors html jquery-1.6

我有这个标签ID,非常不常见:

<select name="/State" id="/State">

似乎我不能使用jQuery选择器$('#/State')来选择这个对象。

我可以使用$("#\U002FState")选择它,但我无法打印id属性:

javascript:alert($("#\U002FState").attr('id'))

如何正确选择此对象?

3 个答案:

答案 0 :(得分:1)

\\ /

之前添加$('#\\/State')

其他链接:

jQuery选择器:http://api.jquery.com/category/selectors/

W3C推荐:http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier

答案 1 :(得分:0)

除非您仅支持HTML5个浏览器,否则按ID选择时会遇到问题,因为ID中的/HTML4中无效。

http://www.w3.org/TR/html401/types.html#type-name

  

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

您可以使用attribute-equals-selector[docs],但效果会降低:

$('select[id="/State"]');

虽然像我上面那样包含element-selector[docs]很有帮助。

以下是一个有效的示例: http://jsfiddle.net/LVEjS/

答案 2 :(得分:0)

解释here /不是ID中的有效字符,因此您的代码不符合标准,最好解决该问题,而不是解决它。