补充:
<div id="aa"><span>I love<br /> you.</span></div>IE的innerHTML会把<br />变成<BR>
Firefox的innerHTML会把<br />变成<br>

解决方案 »

  1.   

    确实会是这样的,toLowerCase()一下就OK啦~
      

  2.   

    大小写很重要么?即使用DOM读节点,nodeName返回的也是大写的形式
      

  3.   

    变态的不是innerHTML,而是怎么去使用他的人~~正所谓拉不出X,怪MT不好~
      

  4.   

    如果你的很重要,可以创建一个CDATA_SECTION 把aa,所有的子节点放进去或克隆一下:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>Untitled Document</title>
    <script type="text/javascript">   function printcon(){
            var outString='';
           if(document.getElementById('aa')){
              var nodelists=document.getElementById('aa').firstChild;
     
             outString+=nodelists.nodeValue;
     
       }
       alert(outString);
       }</script>
    </head><body>
    <div id="aa"><!-- <span>I love you.</span>  --> </div>
    <input type="button" value="print" onclick="printcon();" />
    </body>
    </html>
      

  5.   

    个人感觉在这里大小写不是很重要,如果lz要用,还是toLowerCase()一下.不过要用正则判断一下html标签才行.
      

  6.   

    document.getElementById('aa').innerHTML,toLowerCase();
      

  7.   

    document.getElementById('aa').innerHTML.toLowerCase();
      

  8.   


    FF下用firstChild会死得很难看的。不信试试
      

  9.   

    这样会把I love you也变成小写,并且<br />变成<br>的问题没有解决
      

  10.   

    如果是标签变成小写还好办,如果非要原样那就难了或者无解
    <div id="aa"><span>I love you.</span></div>
    <script>
    var sHtml = document.getElementById('aa').innerHTML;
    sHtml = sHtml.replace(/<\/?([^>]+)>/g,function(m){
      return m.toLowerCase();
    });
    </script>
      

  11.   

    用ajax把自己页面抓取出来 保证原样(前提是代码是服务端生成的、不是JS生成的),不过可能会不符合你的业务需求!
      

  12.   


    <div id="aa"><span>I love you.</span></div>
    <script>
    alert(aa.innerText)
    </script>
    innerHTML是带样式输出
    innerText是不带样式输出
      

  13.   

    先用innerHTML把它拿出来,然后用正则还原. 这样好像比较麻烦
      

  14.   

    无法解决<br />变成<br>的问题
      

  15.   


    sHtml = sHtml.replace(/<\/?([^>]+)\/?>/g,function(m){
      return m.toLowerCase();
    });
      

  16.   

    这才是回答问题的专业精神!别人提出问题总有别人的业务需求,不要认为每个需求都是无关紧要的,只是有些人想不到应用场景
    谢谢这位朋友,第一次知道 replace可以这样写,javascript真是一门魔力十足的语言