<div id="showDiv">aa<div><script>
     
      showDiv.innerHTML="<span>";
      showDiv.innerHTML+="hello";
      showDiv.innerHTML+="</span>";alert( showDiv.innerHTML);
</script>
为啥弹出的信息为<SPAN></SPAN>hello</SPAN>

解决方案 »

  1.   

    showDiv.innerHTML=" <span>"; 这一句的时候 标签未结束,浏览器自动闭合
    var str=" <span>"; 
          str+="hello"; 
          str+=" </span>"; 
    showDiv.innerHTML+=str
      

  2.   

    因为:
    showDiv.innerHTML=" <span>"; 
    该句执行完后.showDiv.innerHTML 内标签不配对,自动补全了.
    所以应该,先组串,再赋给innerHTML.同时也避免不必要的操作dom
      

  3.   

    var str=" <span>"; 
          str+="hel lo"; 
          str+=" </span>"; 
    showDiv.innerHTML+=str;
    如果hel lo中有空格了
    弹出的信息有空格变成了?;
    请问怎么样处理 
      

  4.   


    replace一下就OK了var str=" <span>"; 
        str+="hel lo"; 
        str+=" </span>"; 
    showDiv.innerHTML+=str;
    alert(showDiv.innerHTML.replace(" ",""));//replace一下就OK了
      

  5.   

    为啥不showDiv.innerHTML.replace(" ","&nbsp;"));
      

  6.   

    本来就是要去除空格,用&nbsp,空格不又上去了
      

  7.   

    真纠结了,N年不来CSDN,竟然出了这种帖子
      

  8.   

    你直接写:showDiv.innerHTML="<span> hello </span>";