在js代码拼接dom对象到页面上的模板总结


Posted in Javascript onOctober 21, 2018

每次在js代码里面想动态的拼个dom,然后append到页面上,都是各种麻烦,
要是可以直接在jsp页面弄个隐藏的model那是很好的,用js方法里面的clone方法也是很好的,还可以给不同部分set值。
为了以后简单点,我就把模板摆着,方便后面用得着的时候,复制粘贴。

function fillDialog(dataArray) {
  var target = $("#dialogTarget");
  target.empty();
  for (var i = 0; i < dataArray.length; i++) {
    var label = $('<label class="control-label" style="width: auto; text-align: left;"></label>');
    label.text("" + dataArray[i].channelName);
    var input = $("<input type=\"text\"/>");
    input.prop("name", "checkbox");
    input.prop("type", "checkbox");
    input.prop("value", dataArray[i].id);
    if (dataArray[i].showInUserStatistic) {
      input.prop("checked", "true");
    }
    label.prepend(input);
    target.append(label);
  }
}
var trs = "";
for (var i = 0; i < dataArray.length; i++) {
  var branchBank = dataArray[i].branch;
  var newUser = dataArray[i].newUserNum;
  var netBoostUser = dataArray[i].netBoostUserNum;
  var closeUser = dataArray[i].closeUserNum;
  var activeUser = dataArray[i].activeUserNum;
  var index = activeUser.indexOf(".");
  if (index > 0) {
    //去分行活跃用户数的小数部分如:11.0 ---> 11
    activeUser = activeUser.substring(0, index);
   }
   trs += "<tr><td title='" + branchBank + "'>" + branchBank + "</td>";
   trs += "<td title='" + newUser + "'>" + newUser + "</td>";
   trs += "<td title='" + netBoostUser + "'>" + netBoostUser + "</td>";
   trs += "<td title='" + closeUser + "'>" + closeUser + "</td>";
   trs += "<td title='" + activeUser + "'>" + activeUser + "</td>";
   trs += "</tr>";
 }
 newList.append("<tbody>" + trs + "</tbody>");
 tableChart.append(newList.show());
var $metric = $("#metric");
$metric.empty();
var optGroup0 = $("<optgroup label='常用指标'>");
var optGroup1 = $("<optgroup label='不常用指标'>");
var optGroup2 = $("<optgroup label='未分组指标'>");
for(var i=0; i<allMetricSources.length; i++) {
var m = allMetricSources[i];
if( m != null && (m.type == stream_type || m.type == 2)){
  var option = $("<option ></option>");
  option.attr("value", m.metric);
  option.attr("data_type", m.data_type);
  option.attr("unit", m.unit);
  option.html(m.title);
  if (m.groupType == 0) {
  optGroup0.append(option);
  } else if (m.groupType == 1) {
  optGroup1.append(option);
  } else {
  optGroup2.append(option);
  }
 }
}
$metric.append(optGroup0);
$metric.append(optGroup1);
$metric.append(optGroup2);
if(metric != undefined){
  $metric.val(metric);
}
$metric.trigger("chosen:updated");
function fillRecoveryTable(data) {
  var $tableBody = $("#recoveryTable").find("tbody");
  $tableBody.empty();
  var trs = "";
  for (var i = 0; i < data.length; i++) {
    var recovery = data[i];
    trs += "<tr><td >" + recovery.fileName + "</td>";
    trs += "<td >" + recovery.timeString + "</td>";
    trs += "<td >" + (recovery.result ? "成功" : "失败") + "</td>";
    trs += "<td >" +
      "<a onclick=\"removeRecovery('" + recovery.id + "');\" class=\"icon-trash option\" title=\"删除\"></a>" +
      "<a onclick=\"doRecovery('" + recovery.id + "');\" class=\"icon-cog option\" title=\"一键恢复\" ></a></td>";
    trs += "</tr>";
  }
  $tableBody.append(trs);
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Javascript 相关文章推荐
javascript生成随机颜色示例代码
May 05 Javascript
jQuery中live()方法用法实例
Jan 19 Javascript
jQuery对象初始化的传参方式
Feb 26 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
Feb 28 Javascript
基于socket.io+express实现多房间聊天
Mar 17 Javascript
基于javascript显示当前时间以及倒计时功能
Mar 18 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
Aug 31 Javascript
用AngularJS来实现监察表单按钮的禁用效果
Nov 02 Javascript
Angular实现的进度条功能示例
Feb 18 Javascript
JQuery扩展对象方法操作示例
Aug 21 jQuery
vue elementui 实现搜索栏公共组件封装的实例代码
Jan 20 Javascript
jquery更改元素属性attr()方法操作示例
May 22 jQuery
如何安装控制器JavaScript生成插件详解
Oct 21 #Javascript
Node.js中的不安全跳转如何防御详解
Oct 21 #Javascript
详解Axios 如何取消已发送的请求
Oct 20 #Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
Oct 20 #Javascript
Iview Table组件中各种组件扩展的使用
Oct 20 #Javascript
详解webpack打包第三方类库的正确姿势
Oct 20 #Javascript
详解ES6 Promise对象then方法链式调用
Oct 20 #Javascript
You might like
PHP编程中的常见漏洞和代码实例
2014/08/06 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
jquery中添加属性和删除属性
2015/06/03 Javascript
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
2018/09/01 jQuery
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
解决vue cli使用typescript后打包巨慢的问题
2019/09/30 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
Python变量和数据类型详解
2017/02/15 Python
python绘制直线的方法
2018/06/30 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
python利用opencv保存、播放视频
2020/11/02 Python
python实现图片转字符画
2021/02/19 Python
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
军校本科大学生自我评价
2014/01/14 职场文书
餐饮总经理岗位职责
2014/03/07 职场文书
股份转让协议书
2014/04/12 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
中学生国庆节演讲稿2015
2015/07/30 职场文书
药房管理制度范本
2015/08/06 职场文书
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL