(一)var input = document.createElement("<input type = \"button\" value=\"del\" onclick=\"delRow(this)\">");
这段代码改成
(二)input = document.createElement("<input type = \"button\" value=\"del\">");
input.setAttribute("onclick", delRow(this));在delRow这个方法内用代码二实现时:
function delRow(objBtn)
{
alert(objBtn); ///1 这地方输出OBJECT
var index = objBtn.parentElement.parentElement.rowIndex;/////2
}
注释2处报错,parentElement.parentElement的objec没发现呢,
而用代码(一)实现是没有错的。
谢谢各位关注
这段代码改成
(二)input = document.createElement("<input type = \"button\" value=\"del\">");
input.setAttribute("onclick", delRow(this));在delRow这个方法内用代码二实现时:
function delRow(objBtn)
{
alert(objBtn); ///1 这地方输出OBJECT
var index = objBtn.parentElement.parentElement.rowIndex;/////2
}
注释2处报错,parentElement.parentElement的objec没发现呢,
而用代码(一)实现是没有错的。
谢谢各位关注
试试 >_<
你上面的代码又是创建又是拼串的,一也不行啊,根本就没执行那个function();
参考下这个:
<div id="hiddenForm"></div>
<input type=button value="Show Form" onclick="showForm();">
<script>
function showForm()
{
var s= "" +
'<form action="http://www.cnn.com" method="post">' + '\n'+
'<input type="text" name="name" value="1"><br>' + '\n' +
'<input type="checkbox" name="chk" value="1">Check boc' + '\n' +
'<input type="submit">'+'\n'+
'</form>';
hiddenForm.innerHTML =s;
}
</script>
这里的this 不是指的你创建的input 。 要看在你在什么地方, 如果是有页面里, 那this 就是window
对于onclick 可以用event.srcElement(IE) 来代替传入的obj
input.setAttribute("onclick", delRow(this));
就是说那我想把input本身单击事件响应时传过去自己,就只能用代码(一)了吗?我现在的理解就是this传过去的是当前WINDOWS
var index = window.event.srcElement.parentElement.parentElement.rowIndex;
这样可行!
试试看!
^_*