我有这个代码.我已经做了很多年了,但是我对这个示例的结果感到困惑.目的是使文本框可见,并将单击的SPAN标记的内容放入其中.
document.onclick = CaptureClickedElement;
function CaptureClickedElement(e)
{
var EventElement;
if(e==null)
EventElement = event.srcElement;// IE
else
EventElement = e.target;// Firefox
if( EventElement.tagName == "SPAN")
{
document.getElementById("divTXT").style.display="";
document.getElementById("txt").value = document.getElementById("Span1").innerHTML;
alert(document.getElementById("Span1").innerHTML)
}
}
奇怪的是,它确实显示了内容,但在末尾也显示了打开/关闭SPAN标签.如果我警告您的结果,则会显示相同的内容.
请在此处找到附件的屏幕截图.
有谁知道为什么会这样吗?
谢谢!
这是HTML(由mplungjan的注释复制)
<style type="text/css">
#divOuter {
width: 100px;
height: 70px;
border: 1px solid blue;
float: left;
}
</style>
<body>
<div>
<form name="frm" method="post" action="">
<div id="divTXT" style="display:none">
<input type="text" id="txt" name="txt" value="" size="30" />
</div>
</form>
</div>
<div id="divOuter">
<span id="Span1">hi, this is a test.<span>
</div>
</body>
解决方法:
结构问题:
<span id="Span1">hi, this is a test.<span>
注意没有适当的跨度.