js中拼接HTML方式方法及注意事项
博主原创:未经博主允许,不得转载
在前端应用中,经常需要在js中动态拼接HTML页面,比如应用ajax进行局部刷新的时候,就需要在js中拼接HTML页面。
主要规则是将HTML页面的标签拼接为标签字符创,要特别注意的是标签中的变量或数值。
举例如下:
<div class="tab-content" id="summaryContent" style="padding: 0px 15px;"></div>
在上述的div中拼接页面。拼接页面的内容如下:
function loadComment(){
$.ajax({
url:'<%=basePath%>actManage/getSummaryStatics',
type:'POST',
data:{"activityId":"${actInfo.activityId}"},
dataType:'json',
success:function(data){
//拼接列表页面
var tableContent = "";
var commentCount = data.commentCount;
var askCount = data.askCount;
var voicingCount = data.voicingCount;
tableContent += '<div class="tab-pane fade active in" id="nav-pills-tab-1" style="height:48%;overflow-y:auto">';
tableContent += '<table class="table table-hover" style="margin: 0px">';
if(commentCount>0){
$.each(data.commentList,function(i){
var commentInfo = data.commentList[i];
var num = i+1;
var commentId = commentInfo.commentId;
var activityId ='${actInfo.activityId }';
tableContent += '<tr style="border-bottom: 1px solid #e2e7eb; word-wrap:break-word;word-break:break-all;">';
tableContent += '<td ><span class="badge badge-info">'+num+'</span></td>';
tableContent += '<td ><a href="javascript:void(0);" onclick=delComment("'+commentInfo.commentId+'","'+activityId +'") class="btn btn-white m-r-5"><i class="fa fa-trash-o"></i></a></td>';
tableContent += '<td >'+commentInfo.content +'</td>';
tableContent += '</tr>';
})
}else{
tableContent += '<div style="text-align:center;vertical-align:middle;padding-top:80px;font-size:24px;">暂无评论</div> ';
}
tableContent += '</table>';
tableContent += '</div>';
//将拼接的页面放入列表里面
$("#summaryContent").html(tableContent);
},
error:function(){
var tableContent = " ";
tableContent += '<div class="tab-pane fade active in" id="nav-pills-tab-1" style="height:48%;overflow-y:auto">';
tableContent += '<table class="table table-hover" style="margin: 0px">';
tableContent += '<div style="text-align:center;vertical-align:middle;padding-top:80px;font-size:24px;">暂无评论</div> ';
tableContent += '</table>';
tableContent += '</div>';
//将拼接的页面放入列表里面
$("#summaryContent").html(tableContent);
}
注意事项:
1.在HTML页面中拼接时,需要特别注意含有事件的拼接以及拼接事件中的参数形式。
本人亲自经历:在刚开始拼接时,拼接的形式为:
<a href="javascript:void(0);" onclick="delComment('+commentInfo.commentId+','+activityId +');" class="btn btn-white m-r-5"><i class="fa fa-trash-o"></i></a>
拼装好之后,进行触发的时候,一直没有反应,原因是里面的参数的格式不能识别,需要将其变为字符串形式。正确的拼装形式为:
<a href="javascript:void(0);" onclick=delComment("'+commentInfo.commentId+'","'+activityId +'") class="btn btn-white m-r-5"><i class="fa fa-trash-o"></i></a>
拼装好之后,点击进行触发就可识别。
2.当拼装的HTML里面需要获取后台中的值时,也可以用jQuery的形式获取:${userId}。
不过在拼装的时候,尽量先将他获取出来,然后再拼装页面的时候,直接使用就好了,避免出错的几率。
3.标签中间的文本中变量的使用拼接方式:
tableContent += '<td ><span class="badge badge-info">'+num+'</span></td>';
js中拼接HTML方式方法及注意事项的更多相关文章
- js中数组的定义方法及注意事项(转)
1.数组的创建 var name= new Array(); //创建一个数组 name[0]="zhangsan"; //给数组赋值 name[1]="lisi&q ...
- 在js中拼接<a>标签,<a>标签中含有onclick事件,点击无法触发该事件
我们在<a>标签中添加事件一般是onclick="editUser()" 这样添加,在html页面上是行的通的 但是如何你是在js中拼接<a>标签并在< ...
- 【jQuery】JS中拼接URL发送GET请求的中文、特殊符号的问题
> 参考的优秀文章 jQuery ajax - param() 方法 经常,我们需要在JS中拼接URL然后以GET形式提交请求.如果遇到中文.特殊符号则需要作各种处理. jQuery有一个方法非 ...
- node.js中的url.parse方法使用说明
node.js中的url.parse方法使用说明:https://blog.csdn.net/swimming_in_it_/article/details/77439975 版权声明:本文为博主原创 ...
- JS中定义类的方法
JS中定义类的方式有很多种: 1.工厂方式 function Car(){ var ocar = new Object; ocar.color = "blue" ...
- JS中令人发指的valueOf方法介绍
彭老湿近期月报里提到了valueOf方法,兴致来了翻了下ECMA5里关于valueOf方法的介绍,如下: 15.2.4.4 Object.prototype.valueOf ( ) When the ...
- JS中定义类的方法<转>
转载地址:http://blog.csdn.net/sdlfx/article/details/1842218 PS(个人理解): 1) 类通过prototype定义的成员(方法或属性),是每个类对象 ...
- JS中的对象和方法简单剖析
众所周知,在js中对象就是精髓,不理解对象就是不理解js. 那么什么事js中的对象呢? 在js中,几乎一切皆对象: Boolean ,String,Number可以是对象(或者说原生数据被认作对象): ...
- JS中对象继承方式
JS对象继承方式 摘自<JavaScript的对象继承方式,有几种写法>,作者:peakedness 链接:https://my.oschina.net/u/3970421/blog/28 ...
随机推荐
- 01_Python 基础课程安排
Python 基础课程安排 目标 明确基础班课程内容 课程清单 序号 内容 目标 01 Linux 基础 让大家对 Ubuntu 的使用从很 陌生 达到 灵活操作 02 Python 基础 涵盖 Py ...
- CentOS6.5安装Redis数据库
1.以安装redis2.8.19为例 下载安装包:http://redis.io tar zxvf redis-2.8.19.tar.gz #解压 cd redis-2.8.19 #进入解压后的文件夹 ...
- python图片处理(一)
python图片处理需要先在cmd里面安装Pillow pip install Pillow 一.图片的打开与显示 from PIL import Image img=Image.open('d:/d ...
- Java实现递归将嵌套Map里的字段名由驼峰转为下划线
摘要: 使用Java语言递归地将Map里的字段名由驼峰转下划线.通过此例可以学习如何递归地解析任意嵌套的List-Map容器结构. 难度:初级 概述 在进行多语言混合编程时,由于编程规范的不同, 有时 ...
- byte、二进制、十进制数值之间的转换
项目中遇到将字节数据文件解析成可展示的十进制,经过调查和测试得出下面的转换方法 1.将byte值转换为二进制字符串: byte byteValue = -1; // 将byte转换为8位二进制字符串 ...
- JMeter4.0二次开发之导入eclipse
1.先建立工程,命名为JMeter4.0. JDK版本为10.0.1 2.在官网下载src文件,通过文件系统导入到JMeter4.0工程中 3.在ant中选择download_jars,ant会自动下 ...
- linux常用命令:killall 命令
killall命令用进程的名字来杀死进程. 1.命令格式: killall [ -egiqvw ] [ -signal ] [进程名称] 格式:killall -<signame> ...
- 2018-2019-2 20165209 《网络对抗技术》Exp3:免杀原理与实践
2018-2019-2 20165209 <网络对抗技术>Exp3:免杀原理与实践 1 免杀原理与实验内容 1.1 免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中 ...
- ACM题目————A Knight's Journey
Description BackgroundThe knight is getting bored of seeing the same black and white squares again a ...
- 配置mysql主从数据库
来源地址:https://www.cnblogs.com/alvin_xp/p/4162249.html Mysql主从配置,实现读写分离 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡 ...