2010-10-22 79 views
0

我想选择一个ID为“关于我”的div。由于空间的原因,我认为我有问题。jquery选择器问题

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

我得到 “关于我”

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

我得到了一个未定义。

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

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

回答

2

你需要把空格去掉,用空格I​​D无效,你就会有各种各样的问题......就这样:)

可以逃避它like this

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

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

0

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

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

但是,对于空格字符的特殊情况,它是无效的,句号;正如Nick所说,你需要摆脱它。尽管HTML5中的ID比HTML4和XHTML1中的宽容得多,但即使在HTML5空间中也是不允许的。