jQuery代码得到attr问题

时间:2013-07-09 04:27:11

标签: jquery

我有使用php动态创建的元素,其id为feed_container。我希望每个单独的元素能够单独褪色。我试图通过给每个元素一个特定的类名,然后使用jquery获取该类然后淡入淡出来完成此操作,但没有任何反应。 jquery代码如下。我研究过的一切都说我做得对。有什么不对的吗?

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

3 个答案:

答案 0 :(得分:2)

在使用fadeTo之前,您需要先按类选择元素。

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

答案 1 :(得分:0)

以下语句返回一个字符串,而不是jQuery对象

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

所以你不能使用

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

因为$ key是一个字符串而没有fadeTo方法

也许你的意思

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

答案 2 :(得分:0)

为什么不简单地将容器淡出而不是先获得课程?您已经拥有$(this)中的元素:

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

如果您有多个元素,请改为指定一个类:

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