在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 相关文章推荐
5款Javascript颜色选择器
Oct 25 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
May 26 Javascript
jQuery实现简单滚动动画效果
Apr 07 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
Aug 26 Javascript
Node.js读写文件之批量替换图片的实现方法
Sep 07 Javascript
实例浅析js的this
Dec 11 Javascript
webpack配置sass模块的加载的方法
Jul 30 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
Dec 22 Javascript
vue中的模态对话框组件实现过程
May 01 Javascript
一个Vue页面的内存泄露分析详解
Jun 25 Javascript
jQuery无冲突模式详解
Jan 17 jQuery
React四级菜单的实现
Apr 08 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
图书管理程序(三)
2006/10/09 PHP
php Session存储到Redis的方法
2013/11/04 PHP
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
PHP实现上传图片到 zimg 服务器
2016/10/19 PHP
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
深入解析contentWindow, contentDocument
2013/07/04 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
使用递归遍历对象获得value值的实现方法
2016/06/14 Javascript
js中new一个对象的过程
2017/02/20 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
2018/07/05 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
用JS实现一个简单的打砖块游戏
2019/12/11 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
python基础教程之序列详解
2014/08/29 Python
详解Python的Django框架中inclusion_tag的使用
2015/07/21 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
django迁移数据库错误问题解决
2019/07/29 Python
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
宝宝周岁宴答谢词
2014/01/26 职场文书
优秀护士获奖感言
2014/02/20 职场文书
元旦晚会感言
2014/03/12 职场文书
护校行动方案
2014/05/31 职场文书
护理专业毕业生自荐信
2014/06/15 职场文书
车辆委托书范本
2014/10/05 职场文书
大学入学感言
2015/08/01 职场文书
被委托人身份证明
2015/08/07 职场文书
MySQL Threads_running飙升与慢查询的相关问题解决
2021/05/08 MySQL