JSFiddle 本身不工作;找不到元素?
JSFiddle itself not working; can't find elements?
我有一个超级简单的 fiddle... 但是当我检查元素时,$("#cart table")
坦率地说 $("#add")
、$("#remove")
、$("#cart")
所有 return null 即使这些项目在页面上...我做错了什么?
(因此我的台词被打破了$("#cart table").find("tr").length()
)
https://jsfiddle.net/qb3a6j31/
基本上,length
是一个属性,不是函数,
$("#cart table").find("tr").length
DEMO
你的完整代码是,
$(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()
$("#cart table").find("tr").length
1) 你没有在你的 jsFiddle
中加载 jQuery
2) 这行不通
$("#cart table").find("tr").length()
...因为当您最初单击添加按钮时没有 table 行可用。
3) 当你有行时,它是 .length
。
我倾向于这样写。它获取行,如果有一些使用length
,否则1
。
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)
它会起作用的。注意:您可能希望向 parseInt
.
添加显式的 10 基数参数
我有一个超级简单的 fiddle... 但是当我检查元素时,$("#cart table")
坦率地说 $("#add")
、$("#remove")
、$("#cart")
所有 return null 即使这些项目在页面上...我做错了什么?
(因此我的台词被打破了$("#cart table").find("tr").length()
)
https://jsfiddle.net/qb3a6j31/
基本上,length
是一个属性,不是函数,
$("#cart table").find("tr").length
DEMO
你的完整代码是,
$(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()
$("#cart table").find("tr").length
1) 你没有在你的 jsFiddle
中加载 jQuery2) 这行不通
$("#cart table").find("tr").length()
...因为当您最初单击添加按钮时没有 table 行可用。
3) 当你有行时,它是 .length
。
我倾向于这样写。它获取行,如果有一些使用length
,否则1
。
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)
它会起作用的。注意:您可能希望向 parseInt
.