Ruby/Rails+;jQuery-在rails中命名变量jQuery选择器
我使用Ruby/Rails通过循环动态创建一个div和button,我想知道如何命名元素,以便jquery知道应用哪个选择器 我有一些简单的ruby/html,可以创建几个带有照片的面板,还有一个按钮,在背景中运行一些ajax,然后通过jQuery动画效果更改面板的颜色(为了简洁起见,我在链接中删除了远程调用)Ruby/Rails+;jQuery-在rails中命名变量jQuery选择器,jquery,ruby-on-rails,ruby,ruby-on-rails-3,jquery-selectors,Jquery,Ruby On Rails,Ruby,Ruby On Rails 3,Jquery Selectors,我使用Ruby/Rails通过循环动态创建一个div和button,我想知道如何命名元素,以便jquery知道应用哪个选择器 我有一些简单的ruby/html,可以创建几个带有照片的面板,还有一个按钮,在背景中运行一些ajax,然后通过jQuery动画效果更改面板的颜色(为了简洁起见,我在链接中删除了远程调用) ……文本。。。。。。 “按钮”%> jQuery看起来像 <script> $(document).ready(function(){ $(".bu
……文本。。。。。。
“按钮”%>
jQuery看起来像
<script>
$(document).ready(function(){
$(".button").click(function () {
$("#panel").animate({ backgroundColor: "#006600" }, 500);
});
});
</script>
$(文档).ready(函数(){
$(“.button”)。单击(函数(){
$(“#面板”).animate({backgroundColor:#006600“},500);
});
});
所以问题是每次我点击按钮时,所有面板的颜色都会改变,而不是for循环中引用的特定面板的颜色。我假设这是因为所有面板都有相同的id
那么,我如何设置按钮和面板的(类/id)以便按钮1.单击事件效果面板1和按钮2仅在面板2上工作,等等
我现在对javascript非常陌生。不要参考面板,而是参考
this.parent()
this
在这种情况下应该是按钮本身,parent()
将返回父对象。然后,应设置动画:
this.parent().animate({ backgroundColor: "#006600" }, 500);
您可以使用[link\u to\u函数](http://api.rubyonrails.org/classes/ActionView/Helpers/JavaScriptHelper.html#M001756)并在Jquery中定义一个自定义函数,并使用
this.animate().
如何将按钮值设置为该值?完整代码为:$(“.button”)。单击(函数(){this.parent().animate({backgroundColor:{006600},500);});“this”是接收事件的对象(所以它是按钮)。好吧,这很有意义……那么它如何知道“this”在面板上起作用,而不是页面上的其他随机元素?如何将面板的class/id设置为“this”您不应该有多个具有相同id的元素,它们在整个文档中应该是唯一的。您可能应该改用类。
this.animate().