参数列表后的未捕获语法错误:缺少)

Uncaught SyntaxError: missing ) after argument list

本文关键字:错误 语法 缺少 列表 参数      更新时间:2023-09-26
<script>
    $(document).ready(function(){
       $("tr :odd").attr("class" : "dark"),
       $("tr :even").attr("class" : "light")
    });
</script>

这是我用来给表中的行赋予类的代码。由于某些原因,它一直在参数列表

后抛出Uncaught SyntaxError:missing(

用分号结束每一句话是一种非常好的做法。

问题是您错误地使用了attr函数。它采用两个普通值(键和值(或一个JS对象作为单个参数。

关键值:

$("tr :odd").attr("class", "dark");
$("tr :even").attr("class", "light");

对象:

$("tr :odd").attr({"class": "dark"}); // Usually for multiple values
$("tr :even").attr({"class": "light"}); // Usually for multiple values

此外,通过attr换班是一种非常糟糕的做法。

使用jQuery addClassremoveClass函数:

$("tr:odd").addClass("dark");
$("tr:even").addClass("light");

最后,你确定你真的需要这个吗?

你有类似的CSS:

.dark 
{
    background-color: #333333;
}
.light
{
    background-color: #CCCCCC;
}

你可以这样做:

.tr:nth-chlid(odd)
{
    background-color: #333333;
}
.tr:nth-chlid(even)
{
    background-color: #CCCCCC;
}

尽可能避免使用脚本是非常好的。

您应该这样做(使用对象文字(:

$(selector).attr({"class": "dark"})

$(selector).attr("class", "dark")
相关文章: