jQuery单击关闭按钮时它只会隐藏特定的div?

时间:2013-09-30 05:58:07

标签: php jquery html jquery-ui

我有这个标记。请记住,所有这些都来自数据库。我使用了foreach循环,因为我得到了那些值

<div id="announcment-wrap">
    <div class="announcement-text">
    This is again a dummy 
    <a href="http://www.google.com">|&nbsp;click here</a>
    <a id="close" href="#" class="close">X</a>
  </div>
    <div class="announcement-text">
    This is demo 3 
    <a href="http://www.google.co.in">|&nbsp;Demo3</a>
    <a id="close" href="#" class="close">X</a>
  </div>
    <div class="announcement-text">
    This is demo 4 
    <a href="http://facebook.com">|&nbsp;Demo again</a>
    <a id="close" href="#" class="close">X</a>
  </div>    
</div>

现在您可以看到有一个关闭按钮<a id="close" href="#" class="close">X</a>。我希望当有人点击关闭按钮然后它只会隐藏div() 在jquery我用的时候

jQuery(document).ready(function($) {
  jQuery('#close').click(function() {
    jQuery('.announcement-text').hide();
  });
});

它只适用于第一个块,它是否隐藏了所有块?所以当有人点击该关闭按钮并且它将隐藏该特定块时,有人可以告诉我如何制作它。谢谢

6 个答案:

答案 0 :(得分:2)

ID应该是唯一的,因此请将选择器用作.close而不是#lose

尝试http://jsfiddle.net/devmgs/ZGjaj/

您的每个文字都是

<div class="announcement-text">
    This is again a dummy 
    <a href="http://www.google.com">|&nbsp;click here</a>
    <a id="close" href="#" class="close">X</a>
</div>

使用

$(document).ready(function($) {
  $('.close').click(function() { 
    $(this).closest('.announcement-text').hide();
  });
});

答案 1 :(得分:1)

ID应该是唯一的,所以请改用class,然后尝试使用.closest()

<a href="http://www.google.co.in">|&nbsp;Demo3</a>
<a class="close" href="#" class="close">X</a>
-----^

jQuery(document).ready(function($) {
  jQuery('.close').click(function() {
    jQuery(this).closest('.announcement-text').hide();
  });
});

答案 2 :(得分:1)

尝试:

jQuery(document).ready(function($) {
  jQuery('#close').click(function() {
    jQuery(this).parent('.announcement-text').hide();
  });
});

答案 3 :(得分:1)

由于关闭按钮在div内部,你可以使用.parent()函数来选择div。

jQuery(document).ready(function($) {
   jQuery('#close').click(function() {
      jQuery(this).parent().hide();
   });
});
一切都好!!希望这有帮助。

答案 4 :(得分:0)

您需要使用,即.close适用于所有关闭关闭按钮或为所有关闭按钮指定不同的 ID

   jQuery(document).ready(function($)  {
      jQuery('.close').click(function(){
jQuery(this).closest('.announcement-text').hide();});});  

答案 5 :(得分:0)

首先,您不能为所有关闭按钮使用相同的ID,删除重复的ID。 这在IE7&lt;

中不起作用
$(document).ready(function($) {
  $('.close').click(function() {
    $(this).parent('.announcement-text').hide();
  });
});