2013-07-09 47 views
1

我有動態使用php與feed_container的id創建的元素。我希望每個單獨的元素能夠分開消失。我試圖通過給每個元素一個特定的類名稱,然後使用jquery來獲得該類然後淡入淡出,但沒有任何反應。 jquery代碼如下。我研究過的所有東西都說我做得很對。有什麼不對的嗎?jQuery代碼獲取問題問題

$(document).ready(function(){ 
    $("#feed_container").click(function(){ 
    var $key = $("#feed_container").attr('class'); 
    $key.fadeTo("slow",0.15); 
    }); 
}); 
+2

你有相同ID的多個元素? – Barmar

+0

您可以使用'$(this)'來訪問點擊過的元素。看到我的答案。 –

+0

或'var $ key = this.className' .. –

回答

2

您需要在使用fadeTo之前先按類選擇元素。

$(document).ready(function(){ 
    $("#feed_container").click(function(){ 
    var $key = $("#feed_container").attr('class'); 
    $('.' + $key).fadeTo("slow",0.15); 
    }); 
}); 
0

下面的語句,因爲$密鑰是一個字符串,沒有一個返回一個字符串,而不是一個jQuery對象

$("#feed_container").attr('class') 

所以你不能使用

var $key = $("#feed_container").attr('class'); 
$key.fadeTo("slow",0.15); 

fadeTo方法

也許你的意思是

$("#feed_container").fadeTo(...) 
0

爲什麼不只是簡單地淡出容器而不是先讓班級出來?你已經在$(this)元素:

$("#feed_container").click(function() { 
    $(this).fadeTo("slow", 0.15); 
}); 

如果你有多個元素,指定一個類來代替:

$(".feed_container").click(function() { 
    $(this).fadeTo("slow", 0.15); 
});