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 ...
随机推荐
- vscode主题配色
https://www.cnblogs.com/garvenc/p/vscode_customize_color_theme.html
- XMind思维导图自定义图标/图片
- windows安装并破解navicat.
1:下载以下两个文件. patchNavicat.exe: https://pan.baidu.com/s/1ZtV20GUGfZHcXHRTEb5tYg navicatforMysql.exe: ...
- [py]你真的了解多核处理器吗? 了解多线程
越来越多的人搞爬虫,设计到多线程爬取, 还有一些机器学习的一些模块也需要这玩意, 感觉自己不会逼格不高. 抽时间赶紧玩一玩这东西, 希望提高对软件的认知和归属感,不要太傻. cpu内部架构参考 你知道 ...
- Andrew Ng-ML-第十八章-大规模机器学习
1.学习大数据集 图1.学习大数据集 当数据集量为m=1亿时,进行梯度下降将会花费较大时间. 可以使用小量数据集进行训练,然后得出学习曲线. 左图是高方差,右图是高偏差. 总之是要通过高效的学习算法来 ...
- [LeetCode] 595. Big Countries_Easy tag: SQL
There is a table World +-----------------+------------+------------+--------------+---------------+ ...
- CloudFlare CDN折腾记-优化设置
近期又在折腾了,常访问我博客的朋友或许页面曾出现过502错误提示,那是折腾CloudFlare CDN不成功的提示.在此先感谢坛子,在他的执着和求真之下,昨天晚上终于成功使用上CloudFlare C ...
- Selenium - Xpath 使用方法
由于最新版火狐不在支持FireBug等开发工具,可以通过https://ftp.mozilla.org/pub/firefox/releases/下载49版本以下的火狐就可以增加Firebug等扩展了 ...
- TCP状态转换图、滑动窗口、半连接状态、2MSL
一.TCP状态转换图 下图对排除和定位网络或系统故障时大有帮助,也帮助我们更好的编写Linux程序,对嵌入式开发也有指导意义. 先回顾一下TCP建立连接的三次握手过程,以及关闭连接的四次握手过程 ...
- SQLServer 重启服务后,自增1的标识列一次增长了1000(转自博问)
sql2012:我重启了下sql服务,然后自增列Id居然一下子跳了100,怎么回事啊?(之前的数据Id为1,我重启服务后,第二条数据Id就变成1001了),我自增是1,求大神帮忙啊 SQLServer ...