我需要将回调的值添加到我的setAttribute中。我怎么做?
此值对于以后稍后从表中获取数据是必需的。
这是代码:
row.forEach(function(row) {
var subchapname = document.createElement("div");
subchapname.setAttribute("id", "subchaptertitle");
subchapname.setAttribute("subid", '"+row+"');
subchapname.setAttribute("onclick","{ alert('You are not going to believe this!') } ");
subchapname.textContent = row.subname;
rows.appendChild(subchapname);
基本上,这意味着: 回调=行
此回调需要添加到subchapname.setAttribute("subid", '"+row+"');
这可能吗?
这是实际结果:
<div id="subchaptertitle" subid=""+row+"" onclick="{ alert('You are not going to believe this!') } ">bos in brand</div>```
答案 0 :(得分:0)
subid并不是用于在其中存储数据的属性,因此您不能将这样的属性添加到html-tag并用值填充(当然,在其中写入字符串是可以的,但是这就是您所要做的)需要?)。但是,如果使用html5,则可以添加数据集。因此,使用此解决方案将行值存储在subid的数据集属性中。 如果row是一个对象,并且您想查看该对象的字符串化值,请先使用JSON.stringify将其存储在数据集中
row.forEach(function(row) {
var subchapname = document.createElement("div");
subchapname.setAttribute("id", "subchaptertitle");
subchapname.dataset.subid = row;
// subchapname.dataset.subid = JSON.stringify(row);
subchapname.setAttribute("onclick","{ alert('You are not going to believe this!') } ");
subchapname.textContent = row.subname;
rows.appendChild(subchapname);
});
您的元素现在应如下所示:
<div id="subchaptertitle" onclick="{ alert('You are not going to believe this!') } " data-subid="[object Object]"></div>
或者如果您使用JSON.stringify:
<div id="subchaptertitle" onclick="{ alert('You are not going to believe this!') } " data-subid="what ever row is as a string"></div>
要将值记录到控制台,(将标签添加到DOM之后),请执行以下操作:
console.log(document.getElementById('subchaptertitle').dataset.subid);
如果您使用JSON.stringify,现在请使用以下内容:
console.log(JSON.parse(document.getElementById('subchaptertitle').dataset.subid));