Tworzę mapę, którą można przeciągać, a gdy mapa jest przeciągana, elementowi nadawane są atrybuty „left” i „top” z wartościami dla każdego z nich ...
<div class="map" style="top:200px; left:100px;">Map</div>
Mam przycisk, który po kliknięciu chce usunąć atrybut górny i lewy ze stylu wbudowanego elementu div. Czy jest to możliwe w przypadku jquery?
' '
nie liczy się to tylko jako pusta wartość''
$('selector').prop('style'); cssObject.removeProperty('top'); cssObject.removeProperty('left');
Odpowiedzi:
Domyślne wartości dla CSS
top
ileft
toauto
, więc ustawienie ich na takie może być równoważne w zależności od tego, co próbujesz zrobić:Masz również możliwość całkowitego usunięcia
style
atrybutu:Jeśli jednak używasz innych składników interfejsu użytkownika jQuery, mogą one wymagać stylów wbudowanych, których nie chcesz usuwać, więc postępuj ostrożnie.
źródło
Jeśli chcesz konkretnie usunąć atrybuty górny i lewy oraz pozostawić inne, możesz to zrobić:
Lub krótszy odpowiednik:
źródło
.css('left', undefined);
nic nie zmieniło. Podanie wartości null też nic nie dało. Ale.css('left', false);
usuwa tę własność.Możesz usunąć całą zawartość
style
atrybutu, wykonując:Możesz usunąć określone
style
adresy, wykonując:źródło
Po prostu ustaw właściwość CSS na pusty ciąg, na przykład za pomocą następującego kodu:
Zobacz dokumentację jQuery w CSS .
źródło
Dokumenty przedstawiają aktualne, zalecane podejście do tego, co próbujesz osiągnąć, co często może zaoszczędzić czas, ponieważ nie musisz czytać tam iz powrotem wojen płomieni na przepełnieniu stosu (bez względu na to, jak zabawne / pouczające może być !).
źródło
Zgodnie z tym raportem o błędzie JQuery
nie działa konsekwentnie w przeglądarkach opartych na Webkit. Na przykład napotkałem ten problem na iOS 6.1. Poprawka polega na użyciu:źródło
Jeśli chcesz usunąć to wszystko, możesz to zrobić
źródło
następnie jeśli chcesz usunąć właściwości CSS:
źródło
Moim zdaniem najczystszym sposobem jest całkowite usunięcie właściwości z CSSStyleDeclaration elementu , zamiast zwykłego nadpisywania jej jakąś wartością null / zero / domyślną:
źródło
Usuń bezpiecznie za pomocą tej wtyczki!
$ ('myDiv'). removeCss ('color');
źródło
Istnieją style, których nie można łatwo usunąć. (Przychodzi na myśl przepełnienie)
Rozwiązaniem byłoby utworzenie 2 różnych klas i dodanie / usunięcie tej zawierającej żądany styl.
NIE jest najlepszym rozwiązaniem dla właściwości stylu, które można łatwo usunąć / wyłączyć.
źródło
Aby usunąć style CSS, przypisz do stylu pusty ciąg
w tym przypadku
źródło
źródło