Javascript 为通过document.createElement创建的div提供参数
我想使用for循环创建多个div,我是这样做的Javascript 为通过document.createElement创建的div提供参数,javascript,html,node.js,Javascript,Html,Node.js,我想使用for循环创建多个div,我是这样做的 for(let i = 0; i < data.length; i++) { let divs = document.createElement('div'); divs.className = 'button'; divs.data-id = (data[i]).id; // error document.body.appendChild(divs); } 现在我的问题是需要数据id,但它
for(let i = 0; i < data.length; i++) {
let divs = document.createElement('div');
divs.className = 'button';
divs.data-id = (data[i]).id; // error
document.body.appendChild(divs);
}
现在我的问题是需要数据id,但它会弹出一个错误。那么如何动态定义数据id呢
我还尝试将整个div作为另一个div的innerHTML提供,但是它无法呈现。那么,如何解决这一问题呢?请改用:
还要注意,Javascript标识符中不允许使用连字符,它们将被解析为减法。使用:
for(let i = 0; i < data.length; i++) {
let divs = document.createElement('div');
var attr = document.createAttribute('data-id');
attr.value = (data[i]).id;
divs.setAttributeNode(attr);
document.body.appendChild(divs);
}
还要注意,Javascript标识符中不允许使用连字符,它们将被解析为减法。您正在查找divs.setAttribute'data-id',data[i].id
for(let i = 0; i < data.length; i++) {
let divs = document.createElement('div');
var attr = document.createAttribute('data-id');
attr.value = (data[i]).id;
divs.setAttributeNode(attr);
document.body.appendChild(divs);
}
如果您试图读取一个带有时髦字符(如示例中的破折号)的属性,您可以使用括号而不是点符号来访问它,并引用如下属性:divs.attributes['data-id']您正在查找divs.setAttribute'data-id',data[i].id
如果您试图读取一个带有时髦字符的属性,如示例中的破折号,您可以使用括号而不是点符号来访问它,并引用如下属性:divs.attributes['data-id']这应该可以:
或者使用Jquery替代方案:
var newDiv=$,{id:'foo',class:'tclose'}
这应该起作用:
或者使用Jquery替代方案:
var newDiv=$,{id:'foo',class:'tclose'}
看这个:看这个:
for(let i = 0; i < data.length; i++) {
let divs = document.createElement('div');
divs.setAttribute("id", "btn_id");
divs.setAttribute("class", "btn_class");
divs.setAttribute("data-id", (data[i]).id);
document.body.appendChild(divs);
}