classname为什么会报错

图片描述

<!DOCTYPE html>
<html lang="en">
<head>

<meta charset="UTF-8">
<title>分页</title>
<link rel="stylesheet" href="css/style.css">

</head>
<body>
<div id="box">

<ul class="notice-hd">
    <li class="btn-selected">公告</li>
    <li>规则</li>
    <li>论坛</li>
    <li>安全</li>
    <li>公益</li>
</ul>
<div class="notice-bd">
    <ul class="selected">
        <li>公告1</li>
        <li>公告2</li>
        <li>公告3</li>
    </ul>
    <ul>
        <li>规则1</li>
        <li>规则2</li>
        <li>规则3</li>
    </ul>
    <ul>
        <li>论坛1</li>
        <li>论坛2</li>
        <li>论坛3</li>
    </ul>
    <ul>
        <li>安全1</li>
        <li>安全2</li>
        <li>安全3</li>
    </ul>
    <ul>
        <li>公益1</li>
        <li>公益2</li>
        <li>公益3</li>
    </ul>
</div>

</div>
<script src="js/js.js"></script>
</body>
</html>

var li = document.querySelectorAll("notice-hd>li");
var ul = document.querySelectorAll("notice-by>ul");
for(var i = 0; i < li.length; i++){

li[i].index=i;
li[i].onmouseover = function () {
    for(var j = 0;j <li.length;j++){
        li[j].className = "";
        ul[j].className = "";
    }
    this.className = "btn-selected";
    ul[this.index].className = "selected";
}

}

阅读 3.3k
2 个回答

这不是报错,是编辑器的语法检查,类似ESlint这样的。

提示的意思是你定义了className这个属性,却从来没有使用过。

如果你在下一行加一个console.log(this.className)这个提示就消失了

unused definition ... 只是提示说这个classname属性没有使用过,这个不是报错,对后面没有影响。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题