在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 相关文章推荐
js实现iframe动态调整高度的代码
Jan 06 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
Jan 15 Javascript
js跑马灯代码(自写)
Apr 17 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
May 28 Javascript
总结在前端排序中遇到的问题
Jul 19 Javascript
原生js封装的一些jquery方法(详解)
Sep 20 Javascript
bootstrap实现图片自动轮播
Dec 21 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
May 07 Javascript
AngularJS表单验证功能分析
May 26 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
Jul 08 jQuery
Element DateTimePicker日期时间选择器的使用示例
Jul 27 Javascript
vue 实现一个简单的全局调用弹窗案例
Sep 10 Javascript
如何安装控制器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多线程编程之管道通信实例分析
2015/03/07 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
2015/12/08 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
JS中使用new Option()实现时间联动效果
2018/12/10 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
解决python大批量读写.doc文件的问题
2018/05/08 Python
python TKinter获取文本框内容的方法
2018/10/11 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
Python如何基于selenium实现自动登录博客园
2019/12/16 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
pandas分批读取大数据集教程
2020/06/06 Python
matplotlib subplot绘制多个子图的方法示例
2020/07/28 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
北美三大旅游网站之一:Travelocity
2017/08/12 全球购物
Lovedrobe官网:英国领先的大码服装品牌
2019/09/19 全球购物
如何安装ruby on rails
2014/02/09 面试题
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
物业公司的岗位任命书
2014/06/06 职场文书
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
2014小学生国庆65周年演讲稿
2014/09/21 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
Python移位密码、仿射变换解密实例代码
2021/06/27 Python