使用JavaScript显示SPAN的内容

时间:2011-05-01 05:42:40

标签: javascript innerhtml html

我有这个代码。我已经做了很多年了,但是我对这个例子的结果很难过。目的是使文本框可见,并将单击的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标记。如果我提醒结果,显示同样的事情。

请在此处找到附带的屏幕截图。

enter image description here

有没有人知道为什么会这样?

谢谢!

这是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>

2 个答案:

答案 0 :(得分:3)

结构问题:

<span id="Span1">hi, this is a test.<span>

请注意没有合适的距离。

答案 1 :(得分:0)

需要使用.innerText(用于IE)和.text用于其他人。