试图在javascript中添加字符串,但它只是不断添加;对象HTMLElement“;而不是元素
所以我有一个包含隐藏项的表。有一个用户可以按下的按钮,它将擦除所有表行。但是,我想保存隐藏的元素并将它们附加到新表中 我试着这样做是为了实现:试图在javascript中添加字符串,但它只是不断添加;对象HTMLElement“;而不是元素,javascript,Javascript,所以我有一个包含隐藏项的表。有一个用户可以按下的按钮,它将擦除所有表行。但是,我想保存隐藏的元素并将它们附加到新表中 我试着这样做是为了实现: var hidden_items = $("input[type='hidden']"); var html = ""; for ( var i = 0, l = hidden_items.length; i < l; i++ ) { if (hidden_items[i].closest("tbody") !== null) {
var hidden_items = $("input[type='hidden']");
var html = "";
for ( var i = 0, l = hidden_items.length; i < l; i++ ) {
if (hidden_items[i].closest("tbody") !== null) {
html += hidden_items[i]
}
}
我做错了什么?如果我执行
console.log(hidden_items[I])
操作,那么它实际上会向控制台输出正确的内容,那么为什么它不能正确地附加到html
字符串?这是因为您的元素是html元素(不是字符串),而您正试图将其附加到字符串。这将尝试将对象转换为字符串,即[object HTMLInputElement]
这在控制台中起作用的原因是因为它很智能,并且理解它是一个元素,所以它在DOM中将您直接链接到它,并向您显示它所指的内容。如果调用console.log(hidden_items[i].toString())
,您将看到[object-HTMLInputElement]
您有两种选择:
#一,。将HTML文本附加到HTML字符串。这不会复制原始HTML中可能未显示的事件侦听器/隐藏项:
var hidden_items = $("input[type='hidden']");
var html = "";
for ( var i = 0, l = hidden_items.length; i < l; i++ ) {
if (hidden_items[i].closest("tbody") !== null) {
html += hidden_items[i].outerHTML;
}
}
这是因为您的元素是一个HTML元素(不是字符串),您正试图将其附加到字符串中。这将尝试将对象转换为字符串,即
[object HTMLInputElement]
这在控制台中起作用的原因是因为它很智能,并且理解它是一个元素,所以它在DOM中将您直接链接到它,并向您显示它所指的内容。如果调用console.log(hidden_items[i].toString())
,您将看到[object-HTMLInputElement]
您有两种选择:
#一,。将HTML文本附加到HTML字符串。这不会复制原始HTML中可能未显示的事件侦听器/隐藏项:
var hidden_items = $("input[type='hidden']");
var html = "";
for ( var i = 0, l = hidden_items.length; i < l; i++ ) {
if (hidden_items[i].closest("tbody") !== null) {
html += hidden_items[i].outerHTML;
}
}
var hidden_items = $("input[type='hidden']");
var html = [];
for ( var i = 0, l = hidden_items.length; i < l; i++ ) {
if (hidden_items[i].closest("tbody") !== null) {
html.push(hidden_items[i]);
}
}
$('#toplace').append(html);