承认入门就从vue开始学的前端,
到了原生与jq,我真滴是,感觉寸步难行。
记录两个这次做小dome的心得。
1、jq动态的生成html代码。
不会使用jq模板的情况下直接操作dom原生生成循环的代码片段。
首先后台数据:
`var response = {
"info": "鉴定结束",
"errcode": 200,
"result": [
{
"category": {
"res": "n",
"rate": 0.9760529398918152
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00001.jpg",
"time": 0
},
{
"category": {
"res": "n",
"rate": 0.6681641340255737
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00003.jpg",
"time": 2
},
{
"category": {
"res": "s",
"rate": 0.5017970204353333
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00005.jpg",
"time": 4
},
{
"category": {
"res": "n",
"rate": 0.8622422814369202
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00007.jpg",
"time": 6
},
{
"category": {
"res": "n",
"rate": 0.9994558691978455
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00009.jpg",
"time": 8
},
{
"category": {
"res": "n",
"rate": 0.7771035432815552
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00011.jpg",
"time": 10
},
{
"category": {
"res": "n",
"rate": 0.45609694719314575
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00013.jpg",
"time": 12
}
]
};`
相对来说这算正常的简单数据了吧,
然后 开始创建基本模板
` var videoResult = [];
videoResult.push('<ul>');
resArr.forEach((item,index) => {
var resultImg = 'http://identify.neargh.com:7019'+ item.name;
var rate = item.category.rate.toString().substr(2,2) + '%';
var resDataType = item.category.res;
var resType = '';
switch (resDataType) {
case 'n':
resType = '正常';
break;
case 'p':
resType ='色情';
break;
case 's':
resType ='性感';
break;
case 't':
resType ='暴恐';
break;
case 'news':
resType ='新闻';
break;
default:
resType = '未知类型';
}
videoResult.push(
'<li>' +
'<div>' + '识别结果:' + rate+ resType + '</div>' +
'<div>' + '出现时间:' + item.time + '秒' + '</div>' +
"<img src=\""+resultImg +"\" style=\"width: 288px\" />" +
'</li>'
)
})
videoResult.push('</ul>');
$('#resultText').html(videoResult)`
其实对于文本内容还算ok了,但是当遇到img这样的 需要src着实困扰我。
最后得知,使用转义就可以动态的绑定了,
列入上面的"<img src=\""+resultImg +"\" style=\"width: 288px\" />"
然后用jq的html方法,追加到dom中。
全部的代码
`
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<div>
转为结果
<div id="myResult"></div>
</div>
</body>
<script>
window.onload = function () {
var response = {
"info": "鉴定结束",
"errcode": 200,
"result": [
{
"category": {
"res": "n",
"rate": 0.9760529398918152
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00001.jpg",
"time": 0
},
{
"category": {
"res": "n",
"rate": 0.6681641340255737
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00003.jpg",
"time": 2
},
{
"category": {
"res": "s",
"rate": 0.5017970204353333
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00005.jpg",
"time": 4
},
{
"category": {
"res": "n",
"rate": 0.8622422814369202
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00007.jpg",
"time": 6
},
{
"category": {
"res": "n",
"rate": 0.9994558691978455
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00009.jpg",
"time": 8
},
{
"category": {
"res": "n",
"rate": 0.7771035432815552
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00011.jpg",
"time": 10
},
{
"category": {
"res": "n",
"rate": 0.45609694719314575
},
"name": "/static/parseImgs/2020-03-04/f23eeabf18146704c0845d1d8ae94a14_20200304205623/f23eeabf18146704c0845d1d8ae94a14_00013.jpg",
"time": 12
}
]
};
var resArr = response.result;
// <li>
// <div>识别结果:45%正常</div>
// <div>出现时间 12s</div>
// <img src="" alt="">
// </li>
var videoResult = [];
videoResult.push('<ul>');
resArr.forEach((item,index) => {
var resultImg = 'http://identify.neargh.com:7019'+ item.name;
var rate = item.category.rate.toString().substr(2,2) + '%';
var resDataType = item.category.res;
var resType = '';
switch (resDataType) {
case 'n':
resType = '正常';
break;
case 'p':
resType ='色情';
break;
case 's':
resType ='性感';
break;
case 't':
resType ='暴恐';
break;
case 'news':
resType ='新闻';
break;
default:
resType = '未知类型';
}
console.log(resultImg)
videoResult.push(
'<li>' +
'<div>' + '识别结果:' + rate+ resType + '</div>' +
'<div>' + '出现时间:' + item.time + '秒' + '</div>' +
"<img src=\""+resultImg +"\" style=\"width: 288px\" />" +
'</li>'
)
})
videoResult.push('</ul>');
$('#myResult').html(videoResult)
}
</script>
</html>
`
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。