对li child调用了val()上的TypeError



我使用此代码从ul中排序子级。select操作正常,但值调用出现以下错误。李是有价值的。

for (var i = 0; i < $("#sortable").children("li").length; i++) {
    sortedPlayerIds[i] = $("#sortable").children("li:nth-child(" + (i + 1) + ")").val();
}

我得到这个错误:

TypeError: (c.value || "").replace is not a function
...d*)(?:n([+-]?d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/D/.test... jquery.min.js (linje 16)

我正在使用:

1.8.16/jquery-ui.min.js

1.7.1/jquery.min.js

知道吗?

问题是在循环中查找$(this)对象,您可以用计数器获取哪个对象,请尝试以下代码:

$("#sortable li").each(function(){ 
     var x = $(this).text();
};

错误中您给出的代码行

d*)(?:n([+-]?d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/D/.test存在于jquery.min.js中。请在此jquery文件中查找(Ctrl+F)此行。

对吧?实际上,它与jQuery无关。您正在以错误的方式执行一个jquery操作。查看您在整个java脚本中使用函数.replace的位置。

最新更新