Ich baue eine ziehbare Karte, bei der das Element beim Ziehen der Karte ein Attribut 'left' und 'top' mit Werten für jede erhält ...
<div class="map" style="top:200px; left:100px;">Map</div>
Ich habe eine Schaltfläche, mit der ich das obere und linke Attribut aus dem Inline-Stil auf dem div entfernen möchte, wenn ich darauf klicke. Ist dies mit jquery möglich?
' '
dies nicht nur als leerer Wert gilt''
$('selector').prop('style'); cssObject.removeProperty('top'); cssObject.removeProperty('left');
Antworten:
Die Standardwerte für CSS
top
undleft
sind.auto
Je nachdem, was Sie tun möchten, sind sie möglicherweise gleichwertig.Sie haben auch die Möglichkeit, das
style
Attribut vollständig zu entfernen :Wenn Sie jedoch andere jQuery-UI-Komponenten verwenden, sind möglicherweise Inline-Stile erforderlich, die nicht entfernt werden sollen. Gehen Sie daher dort vorsichtig vor.
quelle
Wenn Sie die oberen und linken Attribute gezielt entfernen und andere verlassen möchten, können Sie dies tun:
Oder ein kürzeres Äquivalent:
quelle
.css('left', undefined);
hat nichts geändert. Das Übergeben von null hat auch nichts bewirkt. Aber.css('left', false);
entfernt diese Eigenschaft.Sie können den gesamten Inhalt des
style
Attributs entfernen , indem Sie Folgendes tun:Und Sie können bestimmte
style
s entfernen, indem Sie Folgendes tun:quelle
Setzen Sie einfach die CSS-Eigenschaft mit einer leeren Zeichenfolge, beispielsweise mit dem folgenden Code:
Siehe jQuery-Dokumentation zu CSS .
quelle
Die Dokumente geben Ihnen den aktuellen, empfohlenen Ansatz für das, was Sie erreichen möchten. Dies kann Ihnen oft Zeit sparen, da Sie keine Flammenkriege beim Stapelüberlauf vorlesen müssen (egal wie lustig / aufschlussreich das sein mag !).
quelle
Gemäß diesem JQuery-Fehlerbericht
funktioniert in Webkit-basierten Browsern nicht konsistent. Zum Beispiel bin ich auf dieses Problem unter iOS 6.1 gestoßen. Das Update ist zu verwenden:quelle
Wenn Sie alles entfernen möchten, können Sie dies tun
quelle
dann, wenn Sie CSS-Requisiten entfernen möchten:
quelle
Meiner Meinung nach besteht der sauberste Weg darin, die Eigenschaft vollständig aus der CSSStyleDeclaration des Elements zu entfernen , anstatt sie nur mit einer Art Null / Null / Standardwert zu überschreiben:
quelle
Mit diesem Plugin sicher löschen!
$ ('myDiv'). removeCss ('color');
quelle
Es gibt einige Stile, die nicht einfach entfernt werden können (Überlauf fällt mir ein)
Eine Problemumgehung besteht darin, zwei verschiedene Klassen zu erstellen und die Klasse hinzuzufügen / zu entfernen, die den gewünschten Stil enthält.
NICHT die beste Lösung für Stileigenschaften, die leicht entfernt / deaktiviert werden können.
quelle
Um CSS-Stile zu entfernen, weisen Sie dem Stil eine leere Zeichenfolge zu
in diesem Fall
quelle
quelle