将HTML元素推入数组的问题

时间:2014-11-12 17:35:47

标签: javascript jquery

Demo

我需要将复选框元素标记传递给数组。我正在使用此代码

  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]);

但是结果是[对象对象]。能告诉我如何解决这个问题吗?

2 个答案:

答案 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 objectread more)。

注意:您创建了2个DOM元素(输入和标签)。要获得第二个(标签) - 请致电get(1)