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

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做得更完美!  

以上意见仅供参考。

时间: 2024-09-16 04:56:16

tbody元素支持嵌套的注意方法_javascript技巧的相关文章

JS获取元素多层嵌套思路详解_javascript技巧

如果一段html嵌套过多,在js中获取还是比较麻烦的,我写了几套方案,大家可以参考参考,如果你有好的方法,也分享出来,让我们瞧瞧. HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>元素多层嵌套,JS获取问题</title> </head> <body> <div

JavaScript中获取HTML元素值的三种方法_javascript技巧

JavaScript中取得元素的方法有三种:分别是: 1.getElementById() 方法:通过id取得HTML元素. 2.getElementsByName()方法:通过name取得元素,是一个数组. 3.getElementsByTagName()方法:通过HTML标签取得元素,是一个数组. 如果要取得值可以使用value,如:var x=document.getElementById("id").value; 方法一:getElementById() 方法可返回对拥有指定

js获取隐藏元素宽高的实现方法_javascript技巧

网上有一些js获取隐藏元素宽高的方法,但是可能会存在某些情况获取不了. 例如: <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>test</title> </head> <bo

js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法_javascript技巧

如下所示: screen.width screen.height screen.availHeight //获取去除状态栏后的屏幕高度 screen.availWidth //获取去除状态栏后的屏幕高度 一.通过浏览器获得屏幕的尺寸 二.获取浏览器窗口内容的尺寸 //高度 window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight //宽度 window.innerWidth

js以分隔符分隔数组中的元素并转换为字符串的方法_javascript技巧

如下所示: <html> <body> <script type="text/javascript"> var arr = new Array(3) ; arr[0] = "Jani"; arr[1] = "Hege"; arr[2] = "Stale"; document.write(arr.join() + "<br />");//默认情况下不提供分隔符,

判断数组是否包含某个元素的js函数实现方法_javascript技巧

判断数组是否包含某个元素的js函数实现方法 Array.prototype.contains = function(obj) { var i = this.length; while (i--) { if (this[i] === obj) { return true; } } return false; } 或 Array.prototype.contains = function(element) { for (var i = 0; i < this.length; i++) { if (t

js获取元素外链样式的方法_javascript技巧

本文实例讲述了js获取元素外链样式的方法.分享给大家供大家参考.具体分析如下: 一般给元素设置行内样式,如<div id="div1" style="width:500px;"></div>.如要获取它的样式,即可document.getElementById("div1").style.width来获取或设置.但是如果样式是在外链link中的或者是页面的非行内样式,就获取不到了. 在标准浏览器中可以通过window.ge

JavaScript让Textarea支持tab按键的方法_javascript技巧

本文实例讲述了JavaScript让Textarea支持tab按键的方法.分享给大家供大家参考.具体实现方法如下: HTMLTextAreaElement.prototype.getCaretPosition = function () { //return the caret position of the textarea return this.selectionStart; }; HTMLTextAreaElement.prototype.setCaretPosition = funct

给before和after伪元素设置js效果的方法_javascript技巧

层叠样式表(CSS)的主要目的是给HTML元素添加样式,然而,在一些案例中给文档添加额外的元素是多余的或是不可能的.事实上CSS中有一个特性允许我们添加额外元素而不扰乱文档本身,这就是"伪元素". 前面的话 无法直接给before和after伪元素设置js效果 例子说明 现在需要为(id为box,内容为"我是测试内容"的div)添加(:before内容为"前缀",颜色为红色的伪类) <!DOCTYPE html> <html l