Fonction correcte :
function addClass(element,value) {
if(!element.className) {
element.className = value;
} else {
newClassName = element.className;
newClassName += " ";
newClassName += value;
element.className = newClassName;
}
}
Est-ce que c'est bien de l'écrire comme ça ?
function addClass(element,value) {
if(!element.className) {
element.className = value;
} else {
newClassName += " ";
newClassName += value;
}
element.classList.add() est plus pratique
Si vous souhaitez être compatible avec IE10 ou version antérieure, alors je n'ai rien à dire
équivaut à
Il y a un problème de compatibilité
Équivalent à ce qui précède, résolvant les problèmes de compatibilité
Autres méthodes d'emballage
La réponse n'est définitivement pas possible
Ce que cela doit être implémenté, c'est d'ajouter une classe à l'élément dom. Dans la branche
else
, vous n'utilisez qu'une chaîne. À quoi sert-elle de ne pas la définir sur l'élément dom à la fin. ? Pour que la classe ajoutée prenne effet, elle doit être placée sur l'élément domelse
分支里面,你只操作一个字符串,最后没有设给dom元素能有什么用呢? 添加的类要生效,肯定是必须要放到dom元素上去的另外你的正确写法也存在问题:
其实
De plus, il y a aussi un problème avec votre écriture correcte : 🎜 🎜En fait, la brancheelse
else
peut être simplifiée🎜 rrreeeJe ne peux pas. Le but de la fonction est d'ajouter une classe appelée
value
àelement
. Il n'y a pas deelement.className
dans votreelsecode> >Que diriez-vous de l'affectation ? Le
newClassName
est juste une variable, utilisée pour enregistrer laclass
existante et ajouter la nouvelleclass
, insérezvalue
Aprèselement.className
, doncelement
加上一个叫value
的类,你else
里面根本没有对element.className
进行赋值怎么行,那个newClassName
只是个变量,用来保存现有class
,并加上value
这个新class
后,塞回element.className
,所以先有:
后有:
事实上,原函数有更优的写法,
Premier : 🎜 🎜 est suivi de : 🎜 rrreee 🎜En fait, la fonction originale a une meilleure façon d'écrire. Il n'est pas nécessaire d'avoir une variable danselse
else
, épelez-la simplement directement : 🎜 rrreeeNon, cela ne fonctionne pas. Après l'instruction else, newClass doit d'abord être attribué avant que l'opération puisse être réaffectée element.className S'il est supprimé, il semble qu'une telle fonction n'existe pas
.Je viens de mal voir...
Pas question