changer de classe d'une durée de
J'ai deux divs comme suit et je veux changer le nom de la classe de durée de s1 à partir de div top2. Mais le code suivant ne fonctionne pas. Comment puis-je le faire?
$('#top1 #s1 span.myclass-old').toggleClass('myclass-new');
<div id="top1">
<span id="s1" class="myclass">a</span>
<span id="s2" class="myclass">b</span>
</div>
<div id="top2">
<span id="s1" class="myclass-old">a</span>
<span id="s2" class="myclass">b</span>
</div>
- Vous avez plusieurs
id
s qui sont les mêmes. Assurez-vous de comprendre comment leid
attribut œuvres, comme c'est la cause de votre erreur. - Oui sa passe parce que la répétition de la même id
- Non, ce que vous faites mal est, il est à la recherche d'un
span.myclass-old
à l'intérieur de#s1
(car il y a un espace entre les deux dans votre code). Cela devrait être changé pourspan#s1.myclass-old
. Notez également que vous NE pouvez pas utiliser le même id, plus d'une fois dans une même page web. - En fait, il est l'un s1. Mais la div est déplaçable et j'ai changer le lieu de la durée. Donc, je dois spécifier div appartient.
Vous devez vous connecter pour publier un commentaire.
Si vous voulez changer votre classe à partir de la classe de vieux "à la" classe-nouvelle " essayez ce code:
Utiliser cette
$('#top1 #s1').attr('class', 'myclass-new');
http://jsfiddle.net/blackpla9ue/tBLFt/
À l'aide de toggleClass ne pourrait résulter dans ajout/suppression de
myclass-new
de votre durée tout en ayant l'existantmyclass
.sélecteur d'enfant
Votre sélecteur de
$('#top1 #s1 span.myclass-old').toggleClass('myclass-new');
recherche un span avec l'id 's1', puis recherche pour ts les enfants span avec la classe "maclasse-vieux". Dans ce cas, vous avez plusieurs même id de sorte que vous devez utiliser le sélecteur suivant$('#top2 span.myclass-old').toggleClass('myclass-new');
ou$('#top1 span.myclass-old').toggleClass('myclass-new');
Le sélecteur est mauvais,
essayez
Je vous suggère de changer l'ID de la travée, que les ID sont utilisés pour être unique dans le document, vous pourriez vous retrouver avec le code désordre