【发布时间】:2014-12-30 07:33:41
【问题描述】:
我编写了“冒泡排序”函数来对图像列表进行排序。我不明白为什么函数返回“未捕获的类型错误:未定义不是函数”。 谁能帮帮我?
$j(document).ready(function() {
var list = $j("dt").find("a").find("img");
bubbleSort(list, list.size());
});
function bubbleSort(a, size)
{
do {
var swapped = false;
for (var i = 0; i < size - 1; i++) {
var img = getAlt(a, i);
var img2 = getAlt(a, i + 1);
if (img > img2) {
var temp = a[i].attr('src');
a[i].attr('src') = a[i + 1].attr('src');
a[i + 1].attr('src') = temp;
swapped = true;
}
}
} while (swapped); // <----- line error
}
function getAlt(list, pos) {
var img = list[pos].attr("alt");
img = img.split(' ');
return img[3];
}
【问题讨论】:
-
哪一行导致错误?
-
a[i].attr('src') = a[i+1].attr('src');和 a[i+1].attr('src') = temp;不是有效的说明
-
JavaScript 有
.sort用于使用二进制排序的数组。您可以提供自定义订单功能。喜欢:[1, 2].sort(function (a, b) { return b - a; });
标签: javascript jquery typeerror