Как удалить div с Ajax - PullRequest
0 голосов
/ 03 февраля 2012

Привет всем, я ищу небольшую помощь.

У меня есть страница php, на этой странице у меня есть несколько вызовов ajax, которые возвращают div ... в одном из этих div у меня есть кнопка, если эта кнопка нажмет, я должен удалить весь div, где кнопка ..

вот мой код, сейчас не работает: (

$(document).ready(function() {
$("#tutn").live('click',function(e){
   $("#first_time",e).remove() ;
   e.preventDefault() ; 
});});

Где id = "first_time" являетсяdiv вызывается с помощью ajax ... и это моя проблема .. потому что div не удаляется, даже если я нажимаю на кнопку .... В другом мире я должен удалить отца div, где кнопка

это HTML-код

<div id="first_time">
     <div class="ft_info">
         <input type="button" name="tutn" id="tutn" class="tutbtn" value="no" />
    </div>
</div>

Ответы [ 6 ]

3 голосов
/ 03 февраля 2012

Если вы уверены, что div существует и его идентификатор равен first_time, просто сделайте

$('#first_time').remove();

Предполагается, что вторым параметром является существующий узел DOM, с которого начнется выбор jQuery.элементы.Похоже, вы передаете объект event, что не соответствует ожиданиям jQuery.

Более того, нет необходимости передавать второй параметр в селектор идентификатора, так как идентификатор должен быть уникальным в пределахdocument.


Последнее замечание о стиле: не ставьте пробелы перед точками с запятой и не "экономьте место", вложив несколько закрывающих пар }).Это брутто:

$(document).ready(function() {
$("#tutn").live('click',function(e){
   $("#first_time",e).remove() ;
   e.preventDefault() ; 
});});

Существуют определенные хорошо исключенные стандарты кодирования, которые вы должны принять, если хотите, чтобы вас воспринимали всерьез:

$(document).ready(function () {
   $("#tutn").live('click', function (e) {
     $("#first_time",e).remove();
     e.preventDefault(); 
  });
});
2 голосов
/ 03 февраля 2012

Вы не можете выбрать div # first_time из контекста e.

Просто измените $("#first_time",e).remove() ; на $("#first_time").remove() ;

0 голосов
/ 03 февраля 2012

Если вы хотите удалить div с идентификатором first_time, вы можете сделать:

$(document).ready(function () {
     $("#tutn").live('click', function (e) {
         $("#first_time").remove();
     });
});

Но если идентификатор является динамически изменяемым, вы можете сделать:

$(document).ready(function () {
         $("#tutn").live('click', function (e) {
             $(this).parent().parent().remove();
         });
});
0 голосов
/ 03 февраля 2012

Ваша ошибка в строке 3:

$("#first_time").remove() ;

E там не так. Интересно, что вы не получаете js-ошибку.

но я бы также рекомендовал использовать parent ().

$(document).ready(function() {
    $("#tutn").live('click',function(e){
       $(this).parent().parent().remove();
    });
});

Вы должны использовать parent () два раза, чтобы получить $ ('# first_time').

И я бы не стал использовать ID. Я бы решил проблему с классами.

0 голосов
/ 03 февраля 2012

Только одно небольшое изменение должно исправить это ...

$(document).ready(function() {
    $("#tutn").live('click',function(e){
       $("#first_time").remove() ;
       e.preventDefault() ; 
    });
});

Я только что удалил ,e из селектора удаления, так как он неправильный.

0 голосов
/ 03 февраля 2012

В качестве другого варианта вы можете удалить "дедушку" кнопки двумя связанными вызовами для метода parent() на $(this), где this - элемент кнопки.

$(document).ready(function() {
$("#tutn").live('click',function(e){
   e.preventDefault() ; 
   $(this).parent().parent().remove();
});});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...