tbody元素支持嵌套的注意方法


Posted in Javascript onMarch 24, 2007

function addMessage(messageID,userName,userCreateDate,articleCount,subject,body,creationDate,modifiedDate) 

var br; 
var row = document.createElement("tr"); 
var cell = document.createElement("td"); 

var cellTr = document.createElement("tr"); 
var cellTd = document.createElement("td"); 
cellTd.appendChild(document.createTextNode("用户名:"+userName)); 
cellTr.appendChild(cellTd); 
cell.appendChild(cellTr); 
cellTd = document.createElement("td"); 
cellTd.appendChild(document.createTextNode("创建时间:+userCreateDate")); 
cellTr.appendChild(cellTd); 
cell.appendChild(cellTr); 
cellTd = document.createElement("td"); 
cellTd.appendChild(document.createTextNode("发表文章:"+articleCount)); 
cellTr.appendChild(cellTd); 
cell.appendChild(cellTr); 
row.appendChild(cell); 

cell = document.createElement("td"); 
cellTr = document.createElement("tr"); 
cellTd = document.createElement("td"); 
cellTd.appendChild(document.createTextNode("发表时间:"+creationDate+" "+"修改时间:"+modifiedDate)); 
cellTr.appendChild(cellTd); 
cell.appendChild(cellTr); 
cellTr = document.createElement("tr"); 
cellTd = document.createElement("td"); 
cellTd.appendChild(document.createTextNode(subject)); 
br = document.createElement("br"); 
cellTd.appendChild(br); 
cellTd.appendChild(document.createTextNode(body)); 
cellTr.appendChild(cellTd); 
cell.appendChild(cellTr); 
row.appendChild(cell); 

document.getElementById("messageList").appendChild(row); 

以上代码在ie中出现"意外的调用了方法或属性访问",错误指向最后一句.望各大侠指点迷津

评价:  
你这段代码感觉不优雅~没有重用性~性能底~、  
建议:  
1>采用函数封装实现重用。  
2>对于table的内部嵌套采用如下格式:  

<table>   
<tbody>   
<tr>   
<td></td>   
...    
</tr>   
...    
</tbody>   
<tbody>   
</tbody>   
...    
</table>   

对table动态生成,采用从内到外添加的方案。另尽可能少使用document.createTextNode,性能低。  
3>如果你的table不是在页面加载时需要执行,建议在<script中添加defer即  

<script defer>   
</script>   

4>另外尽量采取对传值对象的封装,调用一次即可。即,可以将你的表格数据封装成[]或{}(当然内部有模型实现)的策略。  
5>如果你js好的话,可以采用prototype做得更完美!  
以上意见仅供参考。

Javascript 相关文章推荐
js实现文字跟随鼠标移动而移动的方法
Feb 28 Javascript
JS实现浏览器状态栏文字闪烁效果的方法
Oct 27 Javascript
AngularJS实现根据不同条件显示不同控件
Apr 20 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
Jul 08 jQuery
angular项目中bootstrap-datetimepicker时间插件的使用示例
Mar 15 Javascript
vue.js响应式原理解析与实现
Jun 22 Javascript
JavaScript判断浏览器版本的方法
Nov 03 Javascript
使用node.JS中的url模块解析URL信息
Feb 06 Javascript
vue更改数组中的值实例代码详解
Feb 07 Javascript
jQuery表单校验插件validator使用方法详解
Feb 18 jQuery
vue实现两个组件之间数据共享和修改操作
Nov 12 Javascript
JS setTimeout与setInterval的区别
Apr 20 Javascript
xml 与javascript结合的问题解决方法
Mar 24 #Javascript
用prototype实现的简单小巧的多级联动菜单
Mar 24 #Javascript
this[] 指的是什么内容 讨论
Mar 24 #Javascript
javascript对象的property和prototype是这样一种关系
Mar 24 #Javascript
Ajax一统天下之Dojo整合篇
Mar 24 #Javascript
dojo 之基础篇(三)之向服务器发送数据
Mar 24 #Javascript
dojo 之基础篇(二)之从服务器读取数据
Mar 24 #Javascript
You might like
支持oicq头像的留言簿(一)
2006/10/09 PHP
杏林同学录(二)
2006/10/09 PHP
win7下memCache的安装过程(具体操作步骤)
2013/06/28 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
Vuex模块化实现待办事项的状态管理
2017/03/15 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
使用jQuery实现购物车结算功能
2017/08/15 jQuery
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
2019/08/26 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
公司综合部的成员自我评价分享
2013/11/05 职场文书
给海归自荐信的建议
2013/12/13 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
幼儿园亲子活动总结
2014/04/26 职场文书
空气的环保标语
2014/06/12 职场文书
学校联谊协议书
2014/09/16 职场文书
坎儿井导游词
2015/02/09 职场文书
中秋节主题班会
2015/08/14 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python
Django中session进行权限管理的使用
2021/07/09 Python
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android
《堡垒之夜》联动《刺客信条》 4月7日正式上线
2022/04/06 其他游戏