• 全部
  • 问答

问关于outerHTML的问题

doli 2002-09-02 05:44:48
下函数为添加一行表格,但我想添加的<tr></tr>中能有属性,如onMouseOver等,使用了row.outerHTML却不行,请问如何能解决?
function AddRecord()
{
var row = recordTable.insertRow(recordTable.rows.length);
var col = row.insertCell(0);
col.innerHTML = "<input type='text' name='texRemar' value=''>";
col = row.insertCell(1);
col.innerHTML = "<input type='text' name='texObjec' value=''>";
col = row.insertCell(2);
col.innerHTML = "<input type='text' name='texClass' value=''>";
col = row.insertCell(3);
col.innerHTML = "<input type='text' name='texMoney' value=''>

}
...全文
53 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
doli 2002-09-04
通过,ok
结账
回复
doli 2002-09-04
明天试试,如果ok就结账...
回复
方工 2002-09-03
1 没有必要记录表格的行数
2 没有必要把行数传给函数,可以计算出的:
//代码在win98 + IE6 测试通过。
<p id=otherMES></p>
<TABLE id="recordTable">
</TABLE>
<button onclick="AddRecord()">Add Record</a>
<script>
//var rowIndex = 10;//表格原来已有10行
function AddRecord()
{
var row = recordTable.insertRow(recordTable.rows.length);//id=recordTable
row.attachEvent("onmouseover", showOtherMES);//这里好像不能带参数
row.attachEvent("onmouseout", closeOtherMES);
var col = row.insertCell(0);
var i = row.rowIndex;
col.innerHTML = "<input type='text' name='texRemark"+ i + "' value='' >";
col = row.insertCell(1);
col.innerHTML = "<input type='text' name='texObject"+ i +"' value='' >";
col = row.insertCell(2);
col.innerHTML = "<input type='text' name='texClassOne"+ i +"' value='' >";
col = row.insertCell(3);
col.innerHTML = "<input type='text' name='texMoney"+ i +"' value='' >";
//rowIndex++;
//alert(row.innerHTML);
}

function showOtherMES()
{
e=event.srcElement;
if(e.tagName=="INPUT"){
i = e.parentElement.parentElement.rowIndex;
otherMES.innerHTML="<font color=red>"+i +"</font>";//id=otherMES
}
}
function closeOtherMES()
{
otherMES.innerHTML="其他信息:";//id=otherMES
}
</script>
回复
doli 2002-09-03
很感谢,用attachEvent可以解决一些问题,但我想在onmouseover时能执行一个带参数的function,这参数就是这表格的行数,我用attachEvent怎么也搞不定,能否有更好的方法能够把写出来的<tr>改成<tr onmouseover=a(row)>?

var rowIndex = 10;//表格原来已有10行
function AddRecord()
{
var row = recordTable.insertRow(recordTable.rows.length);//id=recordTable
row.attachEvent("onmouseover", showOtherMES);//这里好像不能带参数
row.attachEvent("onmouseout", closeOtherMES);
var col = row.insertCell(0);
col.innerHTML = "<input type='text' name='texRemark"+(rowIndex)+"' value='' >";
col = row.insertCell(1);
col.innerHTML = "<input type='text' name='texObject"+(rowIndex)+"' value='' >";
col = row.insertCell(2);
col.innerHTML = "<input type='text' name='texClassOne"+(rowIndex)+"' value='' >";
col = row.insertCell(3);
col.innerHTML = "<input type='text' name='texMoney"+(rowIndex)+"' value='' >";

rowIndex++;
}

function showOtherMES(i)
{
otherMES.innerHTML="<font color=red>"+i</font>";//id=otherMES

}
function closeOtherMES()
{
otherMES.innerHTML="其他信息:";//id=otherMES
}
回复
方工 2002-09-02
可以使用attachEvent将一个事件绑定到某个元素:

<TABLE id="recordTable" border="1">
</TABLE>
<script>
function overEvent(){
event.srcElement.style.backgroundColor="#ff0000";
}
function AddRecord()
{
var row = recordTable.insertRow(recordTable.rows.length);
alert(row.outerHTML);
row.attachEvent("onmouseover", overEvent);
var col = row.insertCell(0);
col.innerHTML = "<input type='text' name='texRemar' value=''>";
col = row.insertCell(1);
col.innerHTML = "<input type='text' name='texObjec' value=''>";
col = row.insertCell(2);
col.innerHTML = "<input type='text' name='texClass' value=''>";
col = row.insertCell(3);
col.innerHTML = "<input type='text' name='texMoney' value=''>";
}
AddRecord();
回复
方工 2002-09-02
对不起,看错了
回复
方工 2002-09-02
你的这一行代码少了个 引号 ";
col.innerHTML = "<input type='text' name='texMoney' value=''>
////// 通过(IE6)
<TABLE id="recordTable">
</TABLE>
<script>
function AddRecord()
{
var row = recordTable.insertRow(recordTable.rows.length);
var col = row.insertCell(0);
col.innerHTML = "<input type='text' name='texRemar' value=''>";
col = row.insertCell(1);
col.innerHTML = "<input type='text' name='texObjec' value=''>";
col = row.insertCell(2);
col.innerHTML = "<input type='text' name='texClass' value=''>";
col = row.insertCell(3);
col.innerHTML = "<input type='text' name='texMoney' value='' onmouseover='alert(this.name)'>";

}
AddRecord();
</script>
回复
dugucan 2002-09-02
对不起,出处忘了,给个你参考
<TABLE ID="tblData">
<TR>
<TH>input</TH>

</TR>
</TABLE>

<INPUT TYPE="button" ONCLICK="AddRow();" VALUE="Add Data">

<SCRIPT LANGUAGE="JScript"><!--

function AddRow()
{
var eNewRow = tblData.insertRow();
for (var i=0;i<1;i++)
{
var eNewCell = eNewRow.insertCell();
eNewCell.innerHTML = "<input type=text value='test'>";
}
}

function DeleteRow(eButton)
{
var eRow = eButton.parentElement.parentElement;
tblData.deleteRow(eRow.rowIndex);
}

//--></SCRIPT>
回复
相关推荐
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2002-09-02 05:44
社区公告
暂无公告