我想要做的是在点击提交按钮时更改父元素的背景颜色。
因为我已经尝试过这段代码:
$("input.submit").click(function(){
var className = $(this).parent().attr("class");
$(className).animate({backgroundColor: '#FFB95E'}, 1000);
$(className).animate({borderColor: '#C97200'}, 1000);
});
但我永远无法获得父元素的类名。有一些提交按钮都有不同的父元素,这就是我需要这样做的原因。
有人可以帮忙吗?
非常感谢
彼得
答案 0 :(得分:1)
您的标记示例有助于解决此问题,但您似乎正在使用正确的代码来获取父元素。
我建议您使用像firebug这样的调试器来查看$(this).parent()[0]
是什么,或者alert($(this).parent()[0]);
如果它没有返回"object"
你知道你没有父元素你有一个父元素使用alert($(this).parent()[0].outerHTML);
来看看你是否拥有正确的元素。
最后$(className)
是多余的,没有任何意义只是将elemnt命令与下面的getter链接起来或直接使用变量它已经是一个jQuery对象。
$(this).parent().animate({backgroundColor: '#FFB95E'}, 1000).animate({borderColor: '#C97200'}, 1000);
答案 1 :(得分:0)
为什么不简单
$(this).parent()
.animate({backgroundColor: '#FFB95E',
borderColor: '#C97200'}, 1000);
您无需获取父级的类来设置背景颜色。但是,如果我没有错误的颜色动画默认情况下不起作用,你需要一些插件来处理过渡