求教,关于动态更新表格并添加事件的问题 能兼容的不会IE的:newtr.attachEvent("onclick",functionref); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不管怎么样先谢谢了,因为客户要使用ff甚至mozilla,所以还是要兼容的代码另外,我想更改这个新tr的背景色,发现用如下代码没有效果otr.style.background="url() #EEEEEE no-repeat left top";正确的写法应该是什么啊 为什么不用inserRow()方法呢然后利用innerHTML来实现参考下面的例子var rownum=theTable.rows.length;var oRow1=theTable.insertRow(theTable.rows.length);var cell1 = oRow1.insertCell(-1);var cell2 = oRow1.insertCell(-1);cell1.innerHTML = " "+(rows)+"<input type=button name=dels[] value='del' onclick='del("+rownum+")'>";cell2.innerHTML = "<input type='text' name='aa"+rownum+"' value=''><br><br>";oRow1.bgColor=colors;//这里写上颜色值改这一行的背景色cell1.bgColor=colors;//这里写上颜色值,改这一列的背景色 otr.style.cssText="background:url() #EEEEEE no-repeat left top"; 先谢谢大家,不过大家的代码我试了下,似乎都不行好像用这种方法创建的tr标签有很多属性不可以更改的,td倒是可以,但总不能为了为了改tr的背景把几个td的背景都改了吧我把代码更改了一下,发现这样一个问题<table id="theTable"></table><script type="text/javascript">function test(){alert(event.srcElement.id);}var otr=document.createElement("tr");otr.id="line1";document.getElementById("theTable").appendChild(otr);var otd=document.createElement("td");otr.appendChild(otd);</script>在ie下测试了,居然弹出的对话框中为空字符串,也就是没有出现预期的line1,也就是说取不到创建tr时为其属性赋的值,这又是怎么回事啊 修正下,上面的代码复制错了<table id="theTable"></table><script type="text/javascript">function test(){alert(event.srcElement.id);}var otr=document.createElement("tr");otr.id="line1";otr.onclick=test;document.getElementById("theTable").appendChild(otr);var otd=document.createElement("td");otr.appendChild(otd);</script>另外,这个不加参数的函数是可以用这个方法处理事件的,但是加参数的又怎么处理呢 <table id="theTable" border="1"></table><script type="text/javascript">var tbl = document.getElementById("theTable");var r = tbl.insertRow(-1);r.id="line1";r.bgColor="#FFDDDD"; //修改背景颜色var c1 = r.insertCell(-1);var c2 = r.insertCell(-1);c1.innerHTML = "cell1";c2.innerHTML = "cell2";r.onclick=function(e){ e = window.event || e; t = e.srcElement || e.target; alert( t.parentNode.id ); //因为点击的时候是点击单元格,所以是空的,改成parentNode则可以得到tr的ID}</script> 另外,好像因为ff和ie的事件机制不同,没有办法写出简单的兼容语句和ie的attachEvent类似,ff有一个addEventListener方法,研究中。 js实现类似菜单功能,思路没有搞清楚,请高手帮助 大侠们救救老弟!几周了就是解决不了 jquery ajax 传递数值的问题。 留言栏 ExtJS 3.1.1 怎么样实现先隐藏table,然后点击按钮后,显示按钮,display属性等于什么值时是显示的意思。在线等 “无法打开网络站点文件”错误 请问,用哪个方法才能取得下拉框中显示的值,(不是value) 请教关于一个字符串的处理问题 如何在JAVASCRIPT里写生成不同的表格的背景颜色 老问题了,全加了,散了! <option>中快捷键问题! 在线等待`````````
otr.style.background="url() #EEEEEE no-repeat left top";
正确的写法应该是什么啊
然后利用innerHTML来实现参考下面的例子
var rownum=theTable.rows.length;
var oRow1=theTable.insertRow(theTable.rows.length);var cell1 = oRow1.insertCell(-1);
var cell2 = oRow1.insertCell(-1);
cell1.innerHTML = " "+(rows)+"<input type=button name=dels[] value='del' onclick='del("+rownum+")'>";
cell2.innerHTML = "<input type='text' name='aa"+rownum+"' value=''><br><br>";
oRow1.bgColor=colors;//这里写上颜色值改这一行的背景色
cell1.bgColor=colors;//这里写上颜色值,改这一列的背景色
<table id="theTable"></table>
<script type="text/javascript">
function test()
{
alert(event.srcElement.id);
}var otr=document.createElement("tr");
otr.id="line1";
document.getElementById("theTable").appendChild(otr);
var otd=document.createElement("td");
otr.appendChild(otd);
</script>在ie下测试了,居然弹出的对话框中为空字符串,也就是没有出现预期的line1,也就是说取不到创建tr时为其属性赋的值,这又是怎么回事啊
<table id="theTable"></table>
<script type="text/javascript">
function test()
{
alert(event.srcElement.id);
}var otr=document.createElement("tr");
otr.id="line1";
otr.onclick=test;
document.getElementById("theTable").appendChild(otr);
var otd=document.createElement("td");
otr.appendChild(otd);
</script>另外,这个不加参数的函数是可以用这个方法处理事件的,但是加参数的又怎么处理呢
<script type="text/javascript">
var tbl = document.getElementById("theTable");
var r = tbl.insertRow(-1);
r.id="line1";
r.bgColor="#FFDDDD"; //修改背景颜色
var c1 = r.insertCell(-1);
var c2 = r.insertCell(-1);
c1.innerHTML = "cell1";
c2.innerHTML = "cell2";
r.onclick=function(e){
e = window.event || e;
t = e.srcElement || e.target;
alert( t.parentNode.id ); //因为点击的时候是点击单元格,所以是空的,改成parentNode则可以得到tr的ID
}
</script>
和ie的attachEvent类似,ff有一个addEventListener方法,研究中。