我用button调用add()函数创建一个div,并设置它的id,点击这div后弹出提示框显示它的id,该函数内容是:
function add()
{
var dv = document.createElement("div");
dv.setAttribute("id", "bb");
dv.innerHTML =' <a name=aa><img name=imga ID=l src="Images/02.gif">aa</a>';
dv.attachEvent("onclick",function(){newname=dv.id;alert(newname);});}
后来,我想点击dv.innerHTML中的<a>...</a>中的内容后,弹出提示框显示这div的id,如<a name=a onclick="function(){newname=dv.id;alert(newname);}">好象不行,希望有人帮我回答一下。
function add()
{
var dv = document.createElement("div");
dv.setAttribute("id", "bb");
dv.innerHTML =' <a name=aa><img name=imga ID=l src="Images/02.gif">aa</a>';
dv.attachEvent("onclick",function(){newname=dv.id;alert(newname);});}
后来,我想点击dv.innerHTML中的<a>...</a>中的内容后,弹出提示框显示这div的id,如<a name=a onclick="function(){newname=dv.id;alert(newname);}">好象不行,希望有人帮我回答一下。
你改成
<a name=a onclick= "function(){newname=document.getElementById("bb ").id;alert(newname);} ">试试看.应该是可以的
之前的那个dv本来是个对象. 结果你那样写就成了一个初始变量了
function add(){
var dv = document.createElement( "div ");
dv.setAttribute( "id ", "bb ");
dv.innerHTML = '<a name=aa> <img name=imga ID=l src="Images/02.gif"> aa </a> ';
dv.attachEvent( "onclick ",function(){alert(this.id)});
}
点击<a />元素弹出它<div />的ID:
function add(){
var dv = document.createElement( "div ");
dv.setAttribute( "id ", "bb ");
dv.innerHTML = '<a name=aa href="javascript:;"> <img name=imga ID=l src="Images/02.gif"> aa </a> ';
dv.getElementsByTagName("a")[0].attachEvent( "onclick ",function(){alert(dv.id)});
}
1、多余的空格,如dv.setAttribute( "id ", "bb "),应该是dv.setAttribute( "id", "bb "),
dv.attachEvent( "onclick ",应该是dv.attachEvent( "onclick"等
2、;应改为;
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script type="text/javascript">
function add()
{
var div = document.createElement( "div");
div.setAttribute("id","bb");
div.style.border = '1px solid #FF9900';
div.style.width='200px';
div.style.height='200px';
document.getElementById('tbl').appendChild(div);
div.attachEvent("onclick",function(obj,evn){alert('123')});
}</script>
</HEAD><BODY onload="add()">
<div id='tbl'></div>
</BODY>
</HTML>
自己在发挥吧!