jQuery代码只触发一次

时间:2017-02-15 21:54:29

标签: javascript jquery

我有jQuery代码,在点击时淡出div。我有一个电子邮件tyoe列表,每个都有一个删除按钮,我想在点击时淡出div但它只是淡出了第一个div。这是我的代码。

$(document).ready(function(){
   $( "#message-close" ).click(function() {
     $( "#messages-wrapper" ).fadeOut( "slow", function() {
     });
   });
});

比方说,我有十个div,每个div包含在#messages-wrapper中,并使用#message-close按钮。但只有顶级div才会消失。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

你需要使用class而不是id(比如这个$(" .messages-wrapper"))。 Becouse唯一ID应该只在页面上一次。如果您想隐藏所有div,请不要使用ID。例如:

$(document).ready(function(){ 
 $( "#message-close" ).click(function() {
  $( ".messages-wrapper" ).fadeOut( "slow");
 });
});

答案 1 :(得分:0)

您必须为每个div使用不同的ID。

单击带有$("#message-close").click(function(){}) ID的元素时会调用

message-close,而fadeOut函数则使用messages-wrapper ID瞄准div。

因此,每个click函数都必须将您想要的相应ID fadeOut()作为目标,并且这些ID必须不同。