Możliwe duplikaty:
Usuń elementy zawierające tylko spację za pomocą jQuery
Mam automatycznie wygenerowany kanał HTML, któryjest wypełniony śmieciami… Próbuję go trochę wyczyścić i chciałbym użyć jquery do usunięcia części złego kodu. Na przykład na przeciętnej stronie zakopanej w kodzie jest blisko 200x:
<div align="center"> </div>
Jeśli istniał jakiś element identyfikatora lub klasy,łatwo byłoby się ich pozbyć. Ale nie mogę wymyślić sposobu, aby je znaleźć bez niczego w nich zawartego. Czy mogę wyszukiwać według atrybutów? Lub lepiej jest jeszcze sposób na znalezienie kodu HTML ...
Odpowiedzi:
1 dla odpowiedzi № 1Jeśli próbujesz po prostu usunąć wszystkie puste elementy DIV lub DIV z tylko jedną spacją, możesz to zrobić:
$("div").map(function() {
if( $(this).html().length <= 0 || $(this).html() == " ") { return this; } }).remove();
</ pre></ code>
Powtarza to wszystkie div div na twojej stronie i jeśli spełniają one określone kryteria (są puste lub mają tylko białe znaki), to usuwa je z DOM.
To powinno dać ci punkt wyjścia. Jeśli chcesz tylko sprawdzić DIV z wyrównaną właściwością „center”, zrobiłbyś to:
$("div:[align="center"]").map(function() {
if( $(this).html().length <= 0 || $(this).html() == " ") { return this; } }).remove();
</ pre></ code>
Funkcja map () jQuery może być świetna, gdy prosty filtr lub porównanie atrybutów nie wystarczy.
Możesz przeczytać więcej na ten temat tutaj .... http://api.jquery.com/map/
0 dla odpowiedzi nr 2Istnieje jQuery selektor atrybutu
Dla Twojego przykładu:
jQuery( "div [align="center"]" )