在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为元素添加多项样式,浏览器全兼容写法
Aug 30 Javascript
高性能JavaScript DOM编程(1)
Aug 11 Javascript
js 获取本地文件及目录的方法(推荐)
Nov 10 Javascript
webpack 2的react开发配置实例代码
Jul 28 Javascript
关于Vue实现组件信息的缓存问题
Aug 23 Javascript
详解Vue.js中引入图片路径的几种方式
Jun 17 Javascript
基于JavaScript实现贪吃蛇游戏
Mar 16 Javascript
微信公众号网页分享功能开发的示例代码
May 27 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
Jul 26 Javascript
JavaScript对象访问器Getter及Setter原理解析
Dec 08 Javascript
JS实现页面侧边栏效果探究
Jan 08 Javascript
JavaScript实现登录窗体
Jun 22 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中文本数据翻页(留言本翻页)
2006/10/09 PHP
php实现多张图片上传加水印技巧
2013/04/18 PHP
PHP编程获取各个时间段具体时间的方法
2017/05/26 PHP
JavaScript 数组循环引起的思考
2010/01/01 Javascript
jQuery 页面 Mask实现代码
2010/01/09 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
2015/06/05 Javascript
JavaScript动态添加style节点的方法
2015/06/09 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
2019/04/26 Javascript
JS中实现浅拷贝和深拷贝的代码详解
2019/06/05 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
[56:45]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第一局
2016/02/28 DOTA
[36:09]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
python实现代理服务功能实例
2013/11/15 Python
python实现简单购物商城
2016/05/21 Python
Python+matplotlib+numpy绘制精美的条形统计图
2018/01/02 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
python爬虫 urllib模块发起post请求过程解析
2019/08/20 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
2020/02/09 Python
Python之Django自动实现html代码(下拉框,数据选择)
2020/03/13 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
轻松制作精彩视频:Animoto
2018/09/19 全球购物
结婚保证书范文
2014/04/29 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书
MySQL约束超详解
2021/09/04 MySQL
springboot实现string转json json里面带数组
2022/06/16 Java/Android