在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 相关文章推荐
任意位置显示html菜单
Feb 01 Javascript
js检测客户端不是firefox则提示下载
Apr 07 Javascript
jQuery DIV弹出效果实现代码
Jul 03 Javascript
JavaScript中字符串分割函数split用法实例
Apr 07 Javascript
jQuery Validation Plugin验证插件手动验证
Jan 26 Javascript
早该知道的7个JavaScript技巧
Jun 21 Javascript
基于Vue渲染与插件的加载顺序的问题详解
Mar 05 Javascript
JavaScript继承的特性与实践应用深入详解
Dec 30 Javascript
关于AngularJS中几种Providers的区别总结
May 17 Javascript
JS制作简易计算器的实例代码
Jul 04 Javascript
jquery实现拖拽小方块效果
Dec 10 jQuery
vue中封装axios并实现api接口的统一管理
Dec 25 Vue.js
如何安装控制器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解答方法
2012/02/04 PHP
php加密解密实用类分享
2014/01/07 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
php中动态修改ini配置
2014/10/14 PHP
PHP5.2下preg_replace函数的问题
2015/05/08 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
PHP共享内存用法实例分析
2016/02/12 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
php测试kafka项目示例
2020/02/06 PHP
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
jQuery结合HTML5制作的爱心树表白动画
2015/02/01 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
2017/04/21 Javascript
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
Koa从零搭建到Api实现项目的搭建方法
2019/07/30 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
Python中如何导入类示例详解
2019/04/17 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
java关于string最常出现的面试题整理
2021/01/18 Python
工厂总经理岗位职责
2014/02/07 职场文书
承诺书的格式范文
2014/03/28 职场文书
企业爱岗敬业演讲稿
2014/09/04 职场文书
读后感作文评语
2014/12/25 职场文书
导游词之日月潭
2019/11/05 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers
Python中的 enumerate和zip详情
2022/05/30 Python