我有一个DOM元素,其ID类似于:

something[500]

它是由我的Ruby on Rails应用程序构建的.我需要能够通过jQuery获取这个元素,这样我就可以遍历DOM,删除它的父元素的父元素,它有一个我事先无法访问的变量ID.

有人知道我该怎么做吗?以下代码似乎不起作用:

alert($("#something["+id+"]").parent().parent().attr("id"));

经进一步判断,以下各项:

$("#something["+id+"]")

返回一个对象,但当我在其上运行".html()"或".text()"时,结果总是空的或只是一个空字符串.

推荐答案

您需要对方括号进行转义,这样它们才不会被算作属性 Select 器.试试这个:

alert($("#something\\["+id+"\\]").parent().parent().attr("id"));

See Special Characters In Selectors, specifically the second paragraph:

To use any of the meta-characters (such as !"#$%&'()*+,./:;<=>?@[\]^``{|}~) as a literal part of a name, it must be escaped with with two backslashes: \\. For example, an element with id="foo.bar", can use the selector $("#foo\\.bar"). The W3C CSS specification contains the complete set of rules regarding valid CSS selectors. Also useful is the blog entry by Mathias Bynens on CSS character escape sequences for identifiers.

Jquery相关问答推荐

jQuery 或 JavaScript 中的$符号是什么意思?

jQuery单击/切换两个功能

foreach for JSON 数组,语法

如何在 jQuery 中使用:not 和 hasClass() 来获取没有类的特定元素

寻找 jQuery 事件类型的完整列表

如何以十六进制获取元素的背景 colored颜色 代码?

如何滚动到AngularJS中的页面顶部?

jquery清除输入默认值

从 JQuery.ajax 成功数据中解析 JSON

jquery获取帖子操作网址

如何在 jQuery 中修改序列化的表单数据?

数字键盘的keyCode值?

如何使用jQuery在弹出窗口中预览输入类型=文件中的选定图像?

输入元素上的 Javascript 更改事件仅在失go 焦点时触发

如何清除/重置 jQuery UI Datepicker 日历上的选定日期?

带有函数的 JavaScript 三元运算符示例

如何使用 jQuery 检测 IE 8?

在jQuery中获取列表元素内容的数组

将多个参数传递给 jQuery ajax 调用

.success() 和 .complete() 之间的区别?