在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 判断undefined的实现代码
Nov 26 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
Feb 25 Javascript
BootStrap的Datepicker控件使用心得分享
May 25 Javascript
jQuery实现的右下角广告窗体跟随效果示例
Sep 16 Javascript
JavaScript 深层克隆对象详解及实例
Nov 03 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
Dec 17 Javascript
vuejs响应用户事件(如点击事件)
Mar 14 Javascript
javascript内存分配原理实例分析
Apr 10 Javascript
Element-UI踩坑之Pagination组件的使用
Oct 29 Javascript
JS动画实现回调地狱promise的实例代码详解
Nov 08 Javascript
vue实现鼠标经过动画
Oct 16 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
Jan 16 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桌面中心(四) 数据显示
2007/03/11 PHP
phpize的深入理解
2013/06/03 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
Yii控制器中操作视图js的方法
2016/07/04 PHP
Yii框架的路由配置方法分析
2019/09/09 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
2020/04/13 PHP
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
iframe父页面获取子页面参数的方法
2014/02/21 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
2015/06/05 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
浅谈javascript中onbeforeunload与onunload事件
2015/12/10 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
vue2实现数据请求显示loading图
2017/11/28 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
Vue.js 实现数据展示全部和收起功能
2018/09/05 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
Vue项目中使用jquery的简单方法
2019/05/16 jQuery
vue实现简单的登录弹出框
2020/10/26 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
Django REST framework视图的用法
2019/01/16 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
美国Lolё官网:购买大胆而美丽的女性运动服装
2017/05/22 全球购物
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
优秀毕业生推荐信
2013/11/02 职场文书
教室标语大全
2014/06/21 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
学习保证书
2015/01/17 职场文书
Python还能这么玩之用Python做个小游戏的外挂
2021/06/04 Python