Maison > Questions et réponses > le corps du texte
window.onload = function () { var Ul = document.getElementsByTagName('ul')[1]; var oLi =Ul.getElementsByTagName('li'); var oLi2 =Ul.getElementsByTagName('li')[2]; addClass(oLi2,'d');//这个没问题 for(var i = 0; i <= oLi.length; i++){ addClass(oLi[i],'d'); removeClass(oLi[i],'c'); } //这一块代码有问题,不知道原因 function hasClass( elements,cName ){ return !!elements.className.match( new RegExp( "(\\s|^)" + cName + "(\\s|$)") ); }; function addClass( elements,cName ){ if( !hasClass( elements,cName ) ){ elements.className += " " + cName; }; }; function removeClass( elements,cName ){ if( hasClass( elements,cName ) ){ elements.className = elements.className.replace( new RegExp( "(\\s|^)" + cName + "(\\s|$)" )," " ); }; }; }
数据分析师2017-10-01 00:32:21
Déterminer si une liste non ordonnée contient une certaine classe et rencontrer des problèmes lors de l'ajout et de la suppression de classes - Questions et réponses PHP en chinois - Déterminer si une liste non ordonnée contient une certaine classe et rencontrer des problèmes lors de l'ajout et de la suppression de classes - Questions et réponses en ligne PHP en chinois
Regarder et apprenez.
巴扎黑2017-02-25 09:40:49
这个很明显啊
for(var i = 0; i <= oLi.length-1; i++){//注意:length-1 而不是 length addClass(oLi[i],'d'); removeClass(oLi[i],'c'); }
循环的判断条件有问题,你一共有oLi.lenght个元素,从0开始,到oLi.length-1就够了。
这样导致oLi[oLi.length]的值为undefined,后面又读取它的属性,报错