2012-06-28 12 views
7

muszę usunąć przerwę od konkretnego div, wiem jak usunąć wszystkie przerwy zusunąć <br> od konkretnego div

$('br').remove();​

Ale muszę zachować jakieś przerwy w innym miejscu na stronie,

Jak mogę usunąć przerwy z div o identyfikatorze "grape1" i "grape12", ale pozostawić wszystkie pozostałe nietknięte?

Odpowiedz

14
$('#grape1,#grape12').find('br').remove(); 
8
$('br', '#grape1, #grape12').remove();​ 

Drugi argument w selektorze $ pozwala filtrować swoje wyszukiwanie do danego podzbioru, zamiast całej DOM. W tym przypadku mówimy jQuery, aby zaglądał tylko wewnątrz jednostek div grape1 i grape12. Spowoduje to dopasowanie wszystkich brów w tych elementach div.

JsFiddle

+0

dzięki za wyjaśnienie, ale z jakiegoś powodu nie zrobił to działa? – user1450749

+0

Nie wiem, dlaczego to nie zadziałało. Dodałem jsfiddle, aby pokazać, że działa. – Brombomb

1

Jeśli to nie zadziała (jak to miało miejsce w moim przypadku również) to prawdopodobnie dlatego, że <br> są generowane przez niektóre skrypty po wykonaniu JS .remove() kodu.

Aby sprawdzić, czy mam rację, ustawiłem długi czas oczekiwania i po tym czasie zniknęły wszystkie moje niechciane <br>. Tak, w końcu zdecydowałem się umieścić prosty CSS

#grape1 br, #grape12 br { display: none; }

i eveybody jest zadowolony =)

Powiązane problemy