如何通过jQuery在id中输入“:”

时间:2012-11-07 15:04:32

标签: jquery getelementbyid

我是jQuery的新手,但我试着去学习它。 假设我输入了id =“userForm:id”; 在javascript中我可以简单地通过:

var id = document.getElementById("userForm:id");

在jQuery中我尝试:

var id = $('#userForm:id');

然后我收到错误:

Uncaught Error: Syntax error, unrecognized expression: unsupported
pseudo: id

4 个答案:

答案 0 :(得分:7)

jQuery已经考虑过这个问题了,你只需要将其转义,详见jQuery docs并在jQuery FAQ中详细说明:

var id = $('#userForm\\:id');

对于valid ID characters但具有特殊CSS含义的句点和其他字符也是如此。

作为风格的一般问题,我个人不鼓励你在HTML id属性中使用特殊字符(即除了字母数字,下划线和斜线之外的任何字符),但肯定没有技术原因导致它无法完成。

答案 1 :(得分:3)

尝试

var id = $('#userForm\\:id');

DEMO

答案 2 :(得分:3)

根据http://api.jquery.com/category/selectors/

“你必须用两个反斜杠转义角色:\\”

var id = $('#userForm\\:id');

答案 3 :(得分:2)

你也可以使用:

$("form[id$='userForm:id']") 

如果您的项目是表格背景......否则您应该更改方括号前面的表格 这段代码将查看页面中表单的每个id,并检查它是否结束userForm:id
 见:http://api.jquery.com/attribute-ends-with-selector/

我还没有测试下一段代码,但我想它应该可行:

$("form[id='userForm:id']")

这应该只选择id为userForm:id

的表单