关于将HTML元素推入数组的问题

Issue on Pushing HTML Element into an Array

本文关键字:数组 问题 元素 HTML      更新时间:2023-09-26

演示

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

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

但我得到了[对象对象]作为结果。你能告诉我怎么修吗?

如果你想把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>";

我更新了你的演示检查一下。

此行

var check = $("<input  value='" + counter ...

将创建一个特殊的jQuery对象。如果您想获得HTML元素本身,只需调用get(0)即可。

这将提醒[Object HTMLInputElement]:

alert(compareRow[0].get(0));

但是,如果以后需要将创建的元素附加到另一个节点,则无需获取任何内容。例如,jQuery append方法可以接受几种类型的参数。其中jQuery object(阅读更多)。

注意:您创建了2个DOM元素(input和label)。要获得第二个(标签),请调用get(1)