在li子上调用的val()上的TypeError

时间:2012-01-17 12:36:44

标签: javascript jquery jquery-selectors

我使用此代码从ul订购儿童。选择工作正常,但值调用在下面的错误。李有一个价值。

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

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

问题在于在你的循环中找到$(this)对象,你用计数器得到它,试试这个代码:

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

答案 1 :(得分:0)

您在错误中提供的代码行

jquery.min.js中存在

d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test。请在this jquery file中找到(Ctrl + F)这一行。

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