【发布时间】:2014-09-19 03:51:52
【问题描述】:
下面的这段代码将一个 div 附加到另一个 div。前一个 div 包含一个名称属性为“inputName[]”的输入元素。我猜这是一个随着更多 div 添加而自动递增的数组。如何输出这个数组的长度?我试图 console.log 它(如下所示),但它不起作用。
我得到的错误是“Uncaught TypeError: Cannot read property 'length' of undefined”
请问我该怎么做才能解决这个问题?
$("#buttonid4").on("click", function() {
var string1 = "<div class='eight columns'>
<input type='text' size='76' placeholder='paste URL here' name='inputName[]'> </div>";
$("#deleteandadd").append(string1);
console.log(inputName.length);
});
【问题讨论】:
-
你在哪里声明变量“inputName”?
-
@Seano666 我尝试将其声明为“var inputName;” , 在 "$("#buttonid4").on("click", function()" 之外,也在其中。我也尝试过 "var inputName[];" 但出现错误。
-
@Moogs JSFiddle 这里,谢谢:jsfiddle.net/0yo7LLpk
-
这个变量的用途还不清楚。您说它是一个数组,但是您将它用作要附加的元素的名称属性?在您提供的代码中,您没有对数组做任何事情。非常混乱。
-
@Seano666 我假设当它用作被附加元素的名称属性时,它会自动变成一个数组(例如 inputName[1]、inputName[2] 等)。好的,我只想知道有多少输入元素附加了名称 inputName[]... 最简单的方法是什么。
标签: javascript jquery arrays square-bracket name-attribute