为什么在Javascript添加的类上hasClass函数返回false //函数检查元素“elem”是否具有类名“cname” 函数类(elem,cname){ var classArr=elem.className.split(“”); 对于(类中的c) { 如果(classArr[c]=“测试”) 返回true; 其他的 返回false; } } //函数将类名“cname”添加到元素“elem” 函数addClass(元素,cname){ var classArr=elem.className.split(“”); 类阵列推送(cname); elem.className=classArr.join(“”); } window.onload=函数(){ //在这个函数中,您可以编写一些测试 var-box=document.getElementById('holder'); addClass(框“测试”); addClass(框“testtest”); 控制台日志(框); log(hasClass(框,“test”); }; /*#支架(试验用块)
类是通过JS addClass函数添加的,但是为什么在Javascript添加的类上hasClass函数返回false //函数检查元素“elem”是否具有类名“cname” 函数类(elem,cname){ var classArr=elem.className.split(“”); 对于(类中的c) { 如果(classArr[c]=“测试”) 返回true; 其他的 返回false; } } //函数将类名“cname”添加到元素“elem” 函数addClass(元素,cname){ var classArr=elem.className.split(“”); 类阵列推送(cname); elem.className=classArr.join(“”); } window.onload=函数(){ //在这个函数中,您可以编写一些测试 var-box=document.getElementById('holder'); addClass(框“测试”); addClass(框“testtest”); 控制台日志(框); log(hasClass(框,“test”); }; /*#支架(试验用块),javascript,Javascript,类是通过JS addClass函数添加的,但是 我这里的问题是为什么在添加类之后console.log(hasClass(框,'test'))log为false.*/您还需要将此元素添加到body中。将onload方法更改为 <script> // function checks that element "elem" has class name "cname" function hasClass(elem, cname) { var classArr = elem.classN
我这里的问题是为什么在添加类之后console.log(hasClass(框,'test'))log为false.*/您还需要将此元素添加到body中。将onload方法更改为
<script>
// function checks that element "elem" has class name "cname"
function hasClass(elem, cname) {
var classArr = elem.className.split(" ");
for(c in classArr)
{
if(classArr[c] === "test")
return true;
else
return false;
}
}
// function adds class name "cname" to element "elem"
function addClass(elem, cname) {
var classArr = elem.className.split(" ");
classArr.push(cname);
elem.className = classArr.join(" ");
}
window.onload = function() {
// inside this function you can write some tests
var box = document.getElementById('holder');
addClass(box, 'test');
addClass(box, 'testtest');
console.log(box);
console.log(hasClass(box, 'test'));
};
</script>
/*<div id="holder">#holder<br>(block for tests)</div>
还更新了
@KhimanandaOli无法在此处访问您的链接,您可以创建一个小提琴吗?您不应该为数组使用for-in循环。
window.onload = function() {
// inside this function you can write some tests
var box = document.getElementById('holder');
document.body.appendChild(box );
addClass(box, 'test');
addClass(box, 'testtest');
console.log(box);
console.log(hasClass(box, 'test'));
};
function hasClass(elem, cname) {
var classArr = elem.className.split(" ");
console.log(classArr);
for(c in classArr)
{
console.log(classArr[c]);
if(classArr[c] === "test")
return true;
}
return false;
}