2012-04-30 9 views
2

Если у меня есть ряд элементов с классом = "filler", как я могу удалить один за раз, не удаляя все из них? И это не дает им всех идентификаторов; их очень много.Как удалить один элемент класса за раз?

Например, у меня есть это:

<br class="filler"/> 
<hr class="filler"/> 
<br class="filler"/> 
<hr class="filler"/> 
<br class="filler"/> 
<hr class="filler"/> 
<br class="filler"/> 
<hr class="filler"/> 

Это повторяется для довольно способами. Я хотел бы удалить один br и один час каждый раз, когда вызывается функция. Как я могу это сделать?

+1

Что вы имеете в виду "по одному", и что выглядит ли ваша разметка? –

+0

document.getElementsByClassName ('filler') предоставит вам массив из всех элементов с указанным классом. Вы можете получить доступ к каждому индексу. Не уверен, что он работает с IE. – anuragsn7

+0

Просьба указать код; один раз, например, первый или последний и т. д.? –

ответ

6

Чтобы удалить первый br и hr с помощью JQuery:

$("br.filler").first().remove(); 
$("hr.filler").first().remove(); 
+0

В качестве альтернативы, '$ (" element: first "). Remove();' или '$ (" element "). Eq (0) .remove();', возможно, многие другие ... –

+0

Есть .first ()? Почему jQuery SO GREAT? – New2This

+0

@Madmartigan: Использование ': first' - еще лучший селектор, но я столкнулся с проблемами с': first' в IE8 и IE7, поэтому я считаю, что 'first()' безопаснее. –

0

http://jsfiddle.net/Bongs/bnmzr/

HTML

Click on div to remove 
<div class="filler"></div> 
<div class="filler"></div> 
<div class="filler"></div> 
<div class="filler"></div> 
<div class="filler"></div> 

JS

//add the event on which you want to remove the div... 
$(".filler").live("click", function(){ 
    $(this).remove();  //the div on which you click will be removed from DOM 
})​ 

CSS

.filler 
{ 
    border: 1px solid #000; 
    height: 10px; 
    width: 50px; 
}​ 

вы можете играть с кодом ... :)

Смежные вопросы