jQuery при нажатии на кнопку закрытия он будет скрывать только этот конкретный div?

0

У меня есть эта надбавка. Помните, что все это происходит из базы данных. Я использовал цикл 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 ответов

1
Лучший ответ

Пытаться:

jQuery(document).ready(function($) {
  jQuery('#close').click(function() {
    jQuery(this).parent('.announcement-text').hide();
  });
});
  • 0
    +1 для этого, используя родителя, а не ближайший.
2

ID должен быть уникальным, поэтому используйте селектор как.close not #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

Так как кнопка закрытия находится внутри div, вы можете использовать функцию.parent() для выбора div.

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

всего наилучшего!! надеюсь это поможет.

1

Идентификатор должен быть уникальным, поэтому вместо этого используйте класс и попробуйте использовать .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();
  });
});
0

Вы должны использовать класс ie.close для работы для всех кнопок закрытия закрытия или указать другой идентификатор для всех из них.

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

Прежде всего, у вас не может быть одинакового идентификатора для всех кнопок "Закрыть", "Удалить дубликат идентификатора". Это не работает в IE7 <

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню