1

我是 jQuery 的新手,但我尝试学习它。假设我输入了 id="userForm:id"; 在 javascript 中,我可以通过以下方式简单地获取 id:

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

在 jQuery 中,我尝试:

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

但后来我得到错误:

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

4 回答 4

7

jQuery 已经想到了这个问题,你只需要逃避它,详细的jQuery 文档和更详细的jQuery 常见问题解答

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

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

作为一般的风格问题,我个人不鼓励您在 HTML id 属性中使用特殊字符(即除字母数字、下划线和斜杠之外的任何字符),但肯定没有技术原因不能这样做。

于 2012-11-07T15:06:43.993 回答
3

尝试

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

演示

于 2012-11-07T15:07:00.360 回答
2

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

"你必须用两个反斜杠转义字符:\\"

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

于 2012-11-07T15:07:33.027 回答
2

你也可以使用:

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

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

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

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

这应该只选择 id 为 userForm:id 的表单

于 2012-11-07T15:12:41.960 回答