2012-12-21 39 views
2

我工作的一個腳本,不知道爲什麼這是不工作檢測可變的屬性 - jQuery的

function moveIn($selector) { 
if($($selector[left]) != null){ 
    $direction = 'left'; 
}else{ 
    $direction = 'right'; 
} 

這是沒有問題:

if($('#hello[left]') != null){ 

實際上,這就是我想吐出來。看起來括號導致了問題。這還會寫成什麼呢?未來編碼技巧? 感謝

全功能:

function moveIn($selector) { 
if($($selector + '[left]') != null){ 
    $direction = 'left'; 
}else{ 
    $direction = 'right'; 
} 
var animation = {}; 
    animation[$direction] = 0; 
$($selector).animate(animation, 1500); 
} 
+0

提示,你不應該把'$'放在* * * *之前,它可能有一些有用的,如果它是一個jQuery對象。 –

回答

3

假設你傳遞"#hello"作爲選擇,你再試圖獲得一個字符串,它不存在的left財產。

"#hello[left]",另一方面,搜索與該ID hello一個元件和left屬性

他們是不一樣的。嘗試$selector+"[left]"

+0

是的,但我的功能仍然沒有正常工作。從你看到那裏應該工作?如果選擇器具有左側屬性,則用剩下的字符串填充方向變量否則使其正確...? – EZDC

+0

是的,但是你用'$方向'變種做什麼? –

+0

我粘貼其餘的代碼 – EZDC