我有一个超级简单的小提琴...但当我做一个检查元素时,$("#cart table")
并且坦率地$("#add")
,$("#remove")
,$("#cart")
都会返回null,即使这些物品在页面上......我做错了什么?
(因此我的行$("#cart table").find("tr").length()
突破了什么?)
concurrently
答案 0 :(得分:2)
基本上, System.out.println(new StringBuilder("1/2+1/2=").append(0).append(0));
是属性,而不是函数,
length
您的完整代码将是,
$("#cart table").find("tr").length
答案 1 :(得分:1)
1)你没有在你的jsFiddle中加载jQuery
2)这不起作用
$("#cart table").find("tr").length
...因为最初点击添加按钮时没有可用的表行。
3)当你有行时,它是$("#cart table").find("tr").length()
。
我倾向于这样写。它获取行,如果有一些用途.length
,则为length
。
1
答案 2 :(得分:0)
您已使用$(document).on("click", "#add", function(e) {
e.preventDefault();
var next_item_number = parseInt($("#cart table").find("tr").length) + 1
var item =
'<tr>' +
'<td>Item #' + next_item_number + '</td>' +
'</tr>'
$("#cart table").append(item)
});
作为函数,但它是一个属性。使用length
代替length
length()
<强> UPDATED FIDDLE 强>
答案 3 :(得分:0)
var $rows = $("#cart table").find("tr");
var next_item_number = parseInt($rows.length || 1, 10);
Uncaught TypeError: $(...).find(...).length is not a function
是一个数字属性,而不是函数。用以下代码替换您的代码:
length
它会起作用。注意:您可能希望向parseInt($("#cart table").find("tr").length)
添加显式的10基数参数。