2010-10-22 84 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空間中也是不允許的。