2012-09-06 4 views
-1

Привет, я хочу удалить div в jQuery. Это мой код, но у меня есть тест и он не работает, div не удаляется. Помоги мне.jQuery remove() from div не работает

var img_old=$(".colCenter").find('#div_'+old_id); 
img_old.delay(10).animate({top:1440},1500, function(){ 
img_old.remove(); 
}); 

Это HTML

<div class="colCenter" id="two"> 
    <div id="randomdiv" style="display:none;"></div> 
    <div class="content" id="div_index"> 
     <div class="img_background"> 
         <img src="img/sfondi/index.jpg" alt="" class="old_img" id="img_index"/> 
        </div> 
        <div class="logo_home"> 
         <a href="index.php"><img src="img/logo_grande.png" alt="Web & Design" title="Web & Design" /></a> 
        </div> 
       </div> 
</div> 
+1

Так же 'img_old' на самом деле есть ссылка на элемент ? – alex

+2

Можете ли вы разместить свой HTML-код, пожалуйста. – Lowkase

+1

И демо-версия http://jsfiddle.net/. –

ответ

2

http://jsfiddle.net/mblase75/FJchB/ - код отлично работает для меня.

Возможно, переменная old_id не установлена ​​в вашем коде? Я должен был установить его в «index», чтобы что-то произошло.

Как и другие, вы также должны обернуть свой код в блок $(document).ready{...}, чтобы он запускался только после загрузки элементов.

+0

настроен beacuse - динамическая страница –

1
<script> 
$(function(){ 
var img_old=$(".colCenter").find('#divx'); 
img_old.delay(10).animate({top:1440},1500, function(){ 
img_old.remove(); 
}); 
}); 
</script> 
<div class="colCenter"> 
<div id="divx">Another one text 3</div> 
</div> 

Работы хорошо для меня. Попробуйте выполнить код javascript, где DOM готов.

0

работает отлично в этом примере здесь:

jsfiddle

HTML

ID: <input type="text" id="id" value="0"/> 

<div> 
    <div class="colCenter"> 
     <div id="div_0">0</div> 
     <div id="div_1">1</div> 
     <div id="div_2">2</div> 
     <div id="div_3">3</div> 
    </div> 
</div> 

<input type="button" id="button" value="Go"/> 

JS

$(function() { 
    $('#button').click(function() { 

     var old_id = $('#id').val(); 
     var img_old = $(".colCenter").find('#div_' + old_id); 
     img_old.delay(10).animate({ 
      top: 1440 
     }, 1500, function() { 
      img_old.remove(); 
     }); 
    }); 
});​ 
1

Проверить, если old_id - это «индекс», иначе ваш код не работает. Потому что есть только div_index.

Попробуйте сделать этот код между:

$('document').ready(function() { 

и

} 
0

попробовать этот

var old_id = 'index'; 
var img_old = $('.colCenter').find('#div_' + old_id); 
img_old.delay(10).animate({ 
    top: 1440 
}, 1500, function() { 
    img_old.remove(); 
}); 
Смежные вопросы