Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby/Rails+;jQuery-在rails中命名变量jQuery选择器_Jquery_Ruby On Rails_Ruby_Ruby On Rails 3_Jquery Selectors - Fatal编程技术网

Ruby/Rails+;jQuery-在rails中命名变量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

我使用Ruby/Rails通过循环动态创建一个div和button,我想知道如何命名元素,以便jquery知道应用哪个选择器

我有一些简单的ruby/html,可以创建几个带有照片的面板,还有一个按钮,在背景中运行一些ajax,然后通过jQuery动画效果更改面板的颜色(为了简洁起见,我在链接中删除了远程调用)


……文本。。。。。。
“按钮”%>

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().