模板字符串拼接导入data数据
来源:2-4 编程练习
weixin_慕的地5241954
2019-10-15 16:26:18
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>模版字符串</title> </head> <style> div{ width: 216px; } .tit{ margin: 0; text-align: center; } table{ border: 1px solid black; } table td { border: 1px solid black; } </style> <body> <!-- <div> <p class="tit">前端</p> <table> <tr> <td>布局基础</td> <td>1</td> <td>2</td> </tr> <tr> <td>biaoti</td> <td>javascript</td> <td>jquery</td> </tr> <tr> <td>biaoti</td> <td>1</td> <td>2</td> </tr> </table> </div> --> <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script> <script type="text/javascript"> const tmpl = function() { return { title: "前端", data: [{ title: '布局基础', date: ["html", "css"] }, { title: '网页特效', date: ["javascript", "jquery"] }, { title: '框架', date: ["bootstrap", "vue"] }] } } // 补充代码 let getdata = tmpl(); // let {title: header, data: [ { title, date:[ td1, td2] } ] } = getdata; // console.log(header, title, td1, td2) let {title: header, data } = getdata; // let [content1, content2, content3] = data; // console.log(content1.date[1]) let arr = []; let str = `<p class="tit">${header}</p><table>`; for(let k in data){ // console.log(data[k].date[1]) str += `<tr> <td>${data[k].title}</td> <td>${data[k].date[0]}</td> <td>${data[k].date[1]}</td> </tr>` // console.log(str) } // let ele = document.createElement('table'); // console.log(typeof ele) str = str + '</table>'; arr.push(str); let ele = document.createElement('div'); ele.innerHTML = (arr.join('')); document.body.appendChild(ele); </script> </body> </html>
检查一下代码,麻烦再优化一下代码。
我这种方式和要求的方式不一样,用要求的方式不知道样式该怎么设置,想问一下这两种哪种方式好一点?
3回答
同学你好,
1、style属性设置的是css样式,也就是在style标签中写的样式。例如:
2、不通过style直接设置,需要是元素固有的属性。例如table标签:
有border属性,所以使用js进行设置的时候,就可以不用style属性了。
总结:简单理解就是元素自身是否有这个属性,如果有可以直接使用属性设置,如果没有通过style样式进行设置。
自己可以再理解下,祝学习愉快!
好帮手慕星星
2019-10-15
你好,可以不用css样式哦,只设置border属性就可以:
自己试一下。
好帮手慕星星
2019-10-15
同学你好,
代码实现是可以的,很棒哦!
建议按照要求来会简单一下哦,如下:
这样就不用再创建一个div了。其实哪种方式,实现效果了就是好的,自己能够写出来就可以。
祝学习愉快!欢迎采纳~
相似问题
回答 2
回答 3