Javascript中给动态生成的表格添加样式,JavaScript里setAttribute的问题

bgcolor是HTML,bgColor是JScript,backgroundColor是javascript

JavaScript语言的前身叫作LiveScript。自从Sun公司推出著名的Java语言之后, Netscape公司引进了Sun公司有关Java的程序设计概念,将自己原有的LiveScript重新进行设计,并更名为JavaScript。这所以取名为JavaScript,原因就在于JavaScript作为一种嵌入HTML文档的、基于对象的脚本设计语言。其中很大一部分的语法同Java语言很相似,而且JavaScript的设计可以使它很容易地同Java语言一同工作,它可以充分支持Java的applet小应用程序,Java的applet小应用程序也可以很方便地访问已有的JavaScript代码。所以,也可以JavaScript看成是Java语言的某种简化版本。

JScript 是 Microsoft 公司对 ECMA 262 语言规范(ECMAScript 编辑器 3)的一种实现。除了少数例外(为了保持向后兼容),JScript 完全实现了 ECMA 标准。JScript 是一种解释型的、基于对象的脚本语言。

---------------------------------------------------------------------
另外一个说法:
javascript是sun为netscape浏览器做的客户端脚本
Jscript是Microsoft为IE做的客户端脚本
二者语法99.9%相同
--------------------------------------------------------------------
因此上面涉及到的例子:
<table width="200" border="0" cellpadding="0" cellspacing="0" >
   <tr>
     <td bgcolor="#FF6699" onMouseOver="this.bgColor='#FF99CC'" onMouseOut="this.bgColor='#ff6699'">&nbsp;</td>
   </tr>
</table>
<table width="200" border="0" cellpadding="0" cellspacing="0" >
   <tr>
     <td bgcolor="#FF6699" onMouseOver="this.style.backgroundColor='#FF99CC'" onMouseOut="this.style.backgroundColor='#ff6699'">&nbsp;</td>
   </tr>
</table>
是分别采用了JScript和javascript这两种脚本语言来解释table。

-------------------------------------------------------------------

 

用Javascript动态生成表格就不说了,网上一大堆代码。

而给动态生成的表格添加样式网上的资料到还比较少。


parent.setAttribute("style", "text-align: center");
bold.setAttribute("style", "text-align: center");

 

这二句想让文本居中,但是没有效果。
试了半天也没找出原因所在,不过可以这样,把那句替换为document.getElementsByTagName("P")[0].setAttribute("align","center");  可以达到同样的效果
虽然html里是 ,但到了js里就是如此的形式 element.style.textAlign="center";的形式,而不是 element.style="text-align:center;"

P.S. 不要将block级元素(如p)放到inline级元素内(如b) ,若想用 element.style="text-align:center;"的形式,可以写成
element.style.cssText = "text-align:center;"

parent.style.setAttribute("cssText", "text-align: center");

这种情况没有必要显示使用,不如直接element.style.cssText = "text-align:center;"

 

javascript中setAttribute的使用

对于style属性,不是一个简单的setAttribute就能实现的!

如果要给表格添加CSS样式表,则为:

document.getElementById("你设的").className="你的class"

JavaScript动态生成表格可以通过DOM操作来实现。以下是一些基本的步骤: 1. 首先创建一个table元素,并设置其属性(如id、border等)。 2. 创建thead元素和tbody元素,并添加到table。 3. 创建tr元素作为thead的一行,并创建th元素作为每列的标题。将th元素添加到tr,再将tr添加到thead。 4. 使用for循环或其他方法遍历数据,创建每个数据行,创建td元素用于每列数据。将td元素添加到tr,再将tr添加到tbody。 5. 将tbody添加到table。 6. 最后将table元素添加到DOM。 以下是一个简单的示例代码: ``` // 创建table元素 var table = document.createElement("table"); table.setAttribute("id", "myTable"); table.setAttribute("border", "1"); // 创建thead元素和tbody元素 var thead = document.createElement("thead"); var tbody = document.createElement("tbody"); // 创建thead的一行 var tr = document.createElement("tr"); var th1 = document.createElement("th"); var th2 = document.createElement("th"); var th3 = document.createElement("th"); th1.innerHTML = "姓名"; th2.innerHTML = "年龄"; th3.innerHTML = "性别"; tr.appendChild(th1); tr.appendChild(th2); tr.appendChild(th3); thead.appendChild(tr); // 遍历数据,创建每个数据行 for (var i = 0; i < data.length; i++) { var tr = document.createElement("tr"); var td1 = document.createElement("td"); var td2 = document.createElement("td"); var td3 = document.createElement("td"); td1.innerHTML = data[i].name; td2.innerHTML = data[i].age; td3.innerHTML = data[i].sex; tr.appendChild(td1); tr.appendChild(td2); tr.appendChild(td3); tbody.appendChild(tr); } // 将thead和tbody添加到table table.appendChild(thead); table.appendChild(tbody); // 将table添加到DOM document.body.appendChild(table); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值