剛剛在寫一個創(chuàng)建表格的函數(shù)裁着,用于在指定id名的div下創(chuàng)建一個表格,然后函數(shù)參數(shù)為div的id名拱她,一開始寫的時候用
const table1 = document.getElementById('table1');
沒問題二驰,然后再整理成函數(shù)時發(fā)現(xiàn)把id名傳入時,id名并不是一個字符串秉沼,而是這個id對應的dom節(jié)點桶雀,
<div id="table1">
</div>
我猜測是傳入的id名并不是常量矿酵,而是變量,但是我并沒有定義它矗积,而后問了下朋友全肮,告訴我
你可以在全局變量中獲得以id值為命名的變量,無需自己定義
這就清楚了棘捣,以前一直用的document.getElementById辜腺,然后我還在想怎樣把這個變量變成字符串,然后一想乍恐,沒必要啊评疗,直接在函數(shù)里定義個變量,把傳入的id名復制給他就可以了茵烈。
let th = [
'姓名',
'年齡'
];
let td = [
{
name: '張三',
age: '18'
},
{
name: '李四',
age: '22'
}
];
const createdTable = (idname, th, td) => {
//const table1 = document.getElementById('table1');這句話可以不用了百匆,直接用下面的
const table1 = idname;
let thPart = '';
let tdPart = '';
th.forEach(v => {
thPart += ` <th>${v}</th>`;
});
td.forEach(v => {
tdPart +=
`<tr>
<td> ${v.name} </td>
<td> ${v.age} </td>
</tr>
`
});
//應該有thead和tbody,但是懶了
let tablePart =
`
<table >
<tr>
${thPart}
</tr>
${tdPart}
</table>
`;
table1.innerHTML = tablePart;
};
createdTable(table1,th,td);//表格所在div的id名呜投,表頭數(shù)據(jù)加匈,表體數(shù)據(jù)