我需要将复选框元素标记传递给数组。我正在使用此代码
var counter = 0;
var compareTable = [];
var compareRow = [];
var check = $("<input value='" + counter + "' name='case[]' id='selbox" + counter + "' type='checkbox'><label for=" + "selbox" + counter + "><span></span></label>");
compareRow.push(check);
console.log(compareRow);
alert(compareRow[0]);
但是结果是[对象对象]。能告诉我如何解决这个问题吗?
答案 0 :(得分:1)
如果你想将HTML推入数组,这不是方法:
var check = $("<input value='" + counter + "' name='case[]' id='selbox" + counter + "' type='checkbox'><label for=" + "selbox" + counter + "><span></span></label>");
但是这个:
var check = "<input value='" + counter + "' name='case[]' id='selbox" + counter + "' type='checkbox'><label for=" + "selbox" + counter + "><span></span></label>";
我更新了您的DEMO检查。
答案 1 :(得分:0)
这一行
var check = $("<input value='" + counter ...
将创建一个特殊的jQuery对象。如果您想获取HTML元素本身 - 只需调用get(0)
。
这会提醒[Object HTMLInputElement]
:
alert(compareRow[0].get(0));
但是如果以后你需要将创建的元素追加到另一个节点 - 那么就没有必要得到任何东西了。例如。 jQuery append
方法可以接受几种参数。其中包括jQuery object
(read more)。
注意:您创建了2个DOM元素(输入和标签)。要获得第二个(标签) - 请致电get(1)