jquery选择器问题

时间:2010-10-22 01:25:57

标签: javascript jquery jquery-selectors

我正在尝试选择ID为“about me”的div。我认为因为空间而遇到问题。

alert($link.attr("title"));

我得到“关于我”

alert($('#'+$link.attr("title")).attr("title"));

我未定义。

我曾尝试使用php和jquery方法删除它们,但它不起作用。

那么我该如何解决这个问题呢?

2 个答案:

答案 0 :(得分:2)

你需要删除空格,带空格的ID无效,你会遇到各种各样的问题......就像这样:)

可以转义它like this

alert($('#'+$link.attr("title").replace(/ /g, "\\ ")).attr("title"));

但这不是解决问题的正确方法,删除空格是正确的方法。

答案 1 :(得分:0)

一般来说,如果你想通过变量ID获取一个元素,最好通过普通的DOM getElementById方法做到这一点,而不是试图将它变成一个选择器,其中包含带来的所有转义问题。 。例如:

$(document.getElementById($link.attr("title")))

但是,对于空格字符的特殊情况,它是无效的,句号;正如尼克所说,你需要摆脱它。虽然HTML5中的ID比HTML4和XHTML1中的ID更宽松,但是不允许使用HTML5空格。