Je construis une carte déplaçable qui, lorsque la carte est déplacée, donne à l'élément un attribut `` gauche '' et `` haut '' avec des valeurs pour chacun ainsi ...
<div class="map" style="top:200px; left:100px;">Map</div>
J'ai un bouton pour lequel je veux supprimer l'attribut supérieur et gauche du style en ligne sur le div lorsque vous cliquez dessus, est-ce possible avec jquery?
' '
cela ne compte pas comme une valeur vide uniquement''
$('selector').prop('style'); cssObject.removeProperty('top'); cssObject.removeProperty('left');
Réponses:
Les valeurs par défaut pour CSS
top
etleft
sontauto
, donc leur définition peut être équivalente en fonction de ce que vous essayez de faire:Vous avez également la possibilité de supprimer complètement l'
style
attribut:Cependant, si vous utilisez d'autres composants de l'interface utilisateur jQuery, ceux-ci peuvent nécessiter des styles en ligne que vous ne souhaitez pas supprimer, alors procédez avec prudence.
la source
Si vous souhaitez supprimer spécifiquement les attributs supérieur et gauche et en laisser d'autres, vous pouvez le faire:
Ou, un équivalent plus court:
la source
.css('left', undefined);
n'a rien changé. Passer null n'a rien fait non plus. Mais.css('left', false);
supprime cette propriété.Vous pouvez supprimer tout le contenu de l'
style
attribut en procédant comme suit:Et vous pouvez supprimer des
style
s spécifiques en faisant:la source
Définissez simplement la propriété CSS avec une chaîne vide, par exemple avec le code suivant:
Voir la documentation jQuery sur CSS .
la source
La documentation vous donne l'approche actuelle et recommandée pour ce que vous essayez d'accomplir, ce qui peut souvent vous faire gagner du temps car vous n'avez pas à lire les guerres de flamme en cas de débordement de pile (peu importe à quel point cela peut être amusant / instructif. !).
la source
Selon ce rapport de bogue JQuery
ne fonctionne pas de manière cohérente dans les navigateurs basés sur Webkit. Par exemple, j'ai rencontré ce problème sur iOS 6.1. Le correctif consiste à utiliser:la source
Si vous souhaitez tout supprimer, vous pouvez le faire
la source
puis si vous souhaitez supprimer le (s) accessoire (s) css:
la source
À mon avis, le moyen le plus propre est de supprimer complètement la propriété de la déclaration CSSStyleDeclaration de l'élément , au lieu de simplement l'écraser avec une sorte de valeur nulle / zéro / par défaut:
la source
Supprimez en toute sécurité avec ce plugin!
$ ('myDiv'). removeCss ('couleur');
la source
Certains styles ne peuvent pas être facilement supprimés (le débordement vient à l'esprit)
Une solution de contournement serait de créer 2 classes différentes et d'ajouter / supprimer celle contenant le style souhaité.
PAS la meilleure solution pour les propriétés de style qui peuvent être facilement supprimées / désactivées.
la source
Pour supprimer les styles CSS, attribuez une chaîne vide au style
dans ce cas
la source
la source