一、一般方式

方式1:\   要写在标签后面,看例子

var longString = "\
------------------------\
------------------------\
...
------------------------\
";
var toast;
toast = '\
<div id="toast" style="display:none;">\
<div class="weui_mask_transparent"></div>\
<div class="weui_toast">\
<i class="weui_icon_toast"></i>\
<p class="weui_toast_content">' + msg + '</p>\
</div>\
</div>\
';
$('').append(toast);
方式2:+ 要看清楚哪些地方加双引号和单引号
var longString = '------------------------' +
'------------------------' +
...
'------------------------';
for (var x in imgstrs)  {
var $preview = $('<div class="col-xs-2 col-md-2">'
+'<a href="#" class="thumbnail"> <img id="tuNO'+x
+'"+ src="/images/'+imgstrs[x]
+'" width="55px" height="55px"></img></a></div>');
$('#crudmodal_modify #show_images').append($preview); }
方式3:String.concat
''.concat(
'-----------------------------',
'-----------------------------',
...
'-----------------------------',
);
方式4:Array.join
[
'-----------------------------',
'-----------------------------',
...
'-----------------------------',
].join('');

二 、无法将js中的数据 动态加上去。 如你想拼接  src="/images/"+imgstrs[x]  这样在html语法是错误的。《==这句话是错误的,之前本人理解不深

如果你看懂了,动态数据都可以通过方式1 和2  拼接。

三、通过模板

例子1、

<script type="text/template" id="html_template">
<div>HTML代码</div>
</script> <script type="text/javascript">
var html = document.getElementById('html_template').innerHTML;</script>
这种方式的好处就是可以保持代码缩进,易读易修改,、

例子2、  ===来自个人 vue中添加的模板

<!-- 首页模版 -->
<script id="home_tmpl" type="text/v-template">
<img src="assets/img/home.png" alt="" width="100%">
</script>
<!-- 列表模版 -->
<script id="list_tmpl" type="text/v-template">
<!-- 这里的内容不会显示到界面上 -->
<div class="list">
<ol>
<li v-for="item in list">
<a v-link="{ name: 'item', params: { id: item.id } }">
<span class="num">{{pad(item.id, 3)}}</span>
<div class="info">
<h3 class="title">{{item.name}}</h3>
<span class="artist">{{item.artist}}</span>
</div>
<span class="duration">{{convert(item.duration)}}</span>
<div class="photo"><img :src="item.poster" alt="{{item.artist}}"></div>
</a>
</li>
</ol>
</div>
</script>

通过这样取出

  var loadTemplate = function (name) {
return document.getElementById(name + '_tmpl').innerHTML
}

四、拓展,js添加节点和 jq添加节点对比

例子1、被注释掉的就是js代码

  $(function () {
// var box = document.getElementById("box");
//
// var a = document.createElement("a");
// box.appendChild(a);
// a.setAttribute("href", "http://web.itcast.cn");
// a.setAttribute("target", "_blank");
// a.innerHTML = "传智大前端"; $("#box").append('<a href="http://web.itcast.cn" target="_blank">传智大前端</a>'); });

例子2、为了添加成下面子节点,被屏蔽的是js代码,可以看出js比较麻烦

<tr >
  <td style="text-align: center;">序号</td>
  <td style="text-align: center;">内容</td>
  <td style="text-align: center;">价格</td>
</tr>

// 处理改装列表 子表格
var gaizhuangxinxi, gaizhuangxinxi_tr, gaizhuangxinxi_id_td, gaizhuangxinxi_content_td, gaizhuangxinxi_price_td;
var gaizhuangxinxislen = data.data.gaiZhuangXinXis.length;
$('#gaizhuangxinxi_list input')
$('#gaizhuangxinxi_list').empty(); // for (var i = 0; i < gaizhuangxinxislen; i++) {
// gaizhuangxinxi = data.data.gaiZhuangXinXis[i];
// gaizhuangxinxi_tr = document.createElement("tr");
// gaizhuangxinxi_id_td = document.createElement("td");
// gaizhuangxinxi_content_td = document
// .createElement("td");
// gaizhuangxinxi_price_td = document
// .createElement("td");
// gaizhuangxinxi_tr.appendChild(gaizhuangxinxi_id_td);
// gaizhuangxinxi_tr
// .appendChild(gaizhuangxinxi_content_td);
// gaizhuangxinxi_tr
// .appendChild(gaizhuangxinxi_price_td);
// gaizhuangxinxi_id_td.innerHTML = gaizhuangxinxi.id;
// gaizhuangxinxi_content_td.innerHTML = gaizhuangxinxi.gaiZhuangLeiXing;
// gaizhuangxinxi_price_td.innerHTML = gaizhuangxinxi.danJia;
// $('#gaizhuangxinxi_list').append(gaizhuangxinxi_tr);
// }
for (var i = 0; i < gaizhuangxinxislen; i++) {
gaizhuangxinxi = data.data.gaiZhuangXinXis[i];
gaizhuangxinxi_tr =$('<tr> <td style="text-align: center">'+gaizhuangxinxi.id
+'</td><td style="text-align: center">'+gaizhuangxinxi.gaiZhuangLeiXing
+'</td><td style="text-align: center">'
+gaizhuangxinxi.danJia+'</td></tr>');
$('#gaizhuangxinxi_list').append(gaizhuangxinxi_tr);
}

如何在 JS 中嵌入大量 HTML 代码 --更新2017-10-10 16:37:09的更多相关文章

  1. js中嵌入jsp(html)代码的双引号转换问题--事件没反应

    下面是一段今天遇到问题的代码,select中写了onchange事件 ,在没有加转义的情况下,F12解析的代码是错乱的,双引号与内容中写的不一致,还会有空格出现,经过一段时间的摸索,发现在出错的地方加 ...

  2. 如何在JS中应用正则表达式

    背景:在之前的随笔中写过C#中如何使用正则表达式,这篇随笔主要讲如何在js中应用正则表达式 如下代码: $("#zhengze").click(function () { var ...

  3. 如何在Word中排出漂亮的代码

    引言 学数学和计算机,当然还是用LaTeX排版技术文章更方便.但有时候还是迫不得已需要用Word写作,另外Word其实也有Word的好处,比如细节上的修改要比LaTeX方便. 从Matlab高亮代码复 ...

  4. 如何在C或C++代码中嵌入ARM汇编代码

    转载自:http://blog.csdn.net/roland_sun/article/details/42921131 大家知道,用C或者C++等高级语言编写的程序,会被编译器编译成最终的机器指令. ...

  5. 如何在 Go 中嵌入 Python

    如果你看一下 新的 Datadog Agent,你可能会注意到大部分代码库是用 Go 编写的,尽管我们用来收集指标的检查仍然是用 Python 编写的.这大概是因为 Datadog Agent 是一个 ...

  6. Razor 在JS中嵌入后台变量

    HTML 中定义全局变量 @{ int CurrentUserId =ViewBag.CurrentUserId; } JS中取值方式var CurrentUserId = parseInt(@Htm ...

  7. C# 如何在winform中嵌入Excel,内嵌Excel,word

    近使用.net做一个小软件遇到一个问题,就是想实现把excel表格在winform中打开,同时可以操作,不单单是打开.或者就提取数据.在网上找了好多资料,发现这方面的资料比较少,即使有,都是旧版本的使 ...

  8. js技术之如何在JS中获取input的值

    在JavaScript中获取input元素value的值: 方法一:var variations_number = $("#input的id名").val(); 1 <!DO ...

  9. JS中的常用的代码操作

    本文件介绍常用的js代码的DOM操作.CSS操作.对象(Object对象.Array对象.Number对象.String对象.Math对象.JSON对象和Console对象)操作说明. 一.DOM树的 ...

随机推荐

  1. Ubuntu: Windows Help Tools For Ubuntu

    Virtual Box https://www.virtualbox.org/wiki/Linux_Downloads 装不上Wine时直接装虚拟机吧.RTX真是个坑爹的东西,找不到替代的客户端 迅雷 ...

  2. testng学习-before&after,parameters,并行,factory,beanshell,监听器,依赖注入

    一系列的before after的操作测试 [TestNG] Running: C:\Users\user\AppData\Local\Temp\testng-eclipse-1538841744\t ...

  3. JS学习笔记Day3

    一.什么是循环结构 满足一定条件,(((重复)))执行一段相同的代码 二.循环思想是什么(循环三要素) 开始 结束 步长(步进) 三.可以实现循环语句的有哪些 while do while for 四 ...

  4. 将 数据库中的结果集转换为json格式(三)

    从数据库中得到结果集 public String list() throws Exception { Connection con = null; PageBean pageBean = new Pa ...

  5. POJ3662 SPFA//二分 + 双端队列最短路

    https://cn.vjudge.net/problem/12427/origin 题意:求1到N第K + 1大条边权最小的路径 首先想到dp递推,dp[x][y]表示到x这个点经过y条免费边的最小 ...

  6. 关于交叉熵(cross entropy),你了解哪些

    二分~多分~Softmax~理预 一.简介 在二分类问题中,你可以根据神经网络节点的输出,通过一个激活函数如Sigmoid,将其转换为属于某一类的概率,为了给出具体的分类结果,你可以取0.5作为阈值, ...

  7. nGrinder TestRunnerInsertMysqlSingle.groovy

    s C:\Users\Lindows\workspace\GroovyTest\src\com\iteye\lindows\mysql\TestRunnerInsertMysqlSingle.groo ...

  8. 打包JAR,MANIFEST.MF格式

    MANIFEST.MF文件格式详解 1. 基本格式 属性名称+:+空格+属性值 2. 没行最多72个字符,换行继续必须以空格开头 3. 文件最后必须要有一个回车换行 4. Class-Path 当前路 ...

  9. 网络编程基础【day09】:简单socket实例(二)

    本节内容 1.概述 2.socket实例 3.总结 一.概述 之前我们只是介绍了soket的概念和一些逻辑图表,下面我们来看看,socket的客户端和服务端到底是怎么用的? 二.socket实例 2. ...

  10. 面向对象【day08】:异常处理-断言(七)

    本节内容 1.概述 2.知识点回顾 3.断言 一.概述 python中断言,这个我是第一次听说到的,断言有什么用呢?断言就是做一些程序的检查工作,就是在执行之前需要做的一些检查,比如类似于安检一样,合 ...