模板字符串拼接导入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