我有一个DOM元素,其ID类似于:
something[500]
它是由我的Ruby onRails应用程序构建的。我需要能够通过jQuery获取此元素,以便我可以沿DOM向上移动以删除其父级的父级,该父级具有一个我事先无法访问的变量ID。
有人知道我该怎么做吗?以下代码似乎无效:
alert($("#something["+id+"]").parent().parent().attr("id"));
经过进一步检查,以下内容:
$("#something["+id+"]")
返回一个对象,但是当我在其上运行“ .html()”或“ .text()”时,结果始终为null或只是一个空字符串。
您需要转义方括号,以便不将其计为属性选择器。尝试这个:
alert($("#something\\["+id+"\\]").parent().parent().attr("id"));
请参见选择器中的特殊字符,特别是第二段:
要将任何元字符(例如!"#$%&'()*+,./:;<=>?@[\]^``{|}~)用作名称的文字部分,必须使用两个反斜杠对它进行转义:\\。例如,带有的元素id="foo.bar"可以使用选择器$("#foo\\.bar")。
!"#$%&'()*+,./:;<=>?@[\]^``{|}~
\\
id="foo.bar"
$("#foo\\.bar")