<!doctype html>
<html>
<head>
<meta charset="gb2312" />
<title></title>
<style>
</style>
</head>
<body>
<div msg="123\n123" id="test">i am a div</div>
<script>
function $(o){return document.getElementById(o)}

alert( $('test').getAttribute('msg') ); // 为什么这个alert内容不换行

var s = '123\n123';
alert( s )  // 这里可以换行

</script>
</body>
</html>

解决方案 »

  1.   

    \n是js的转义,不是属性的. 属性内\是就是 js的\\<!doctype html>
    <html>
        <head>
            <meta charset="gb2312" />
            <title></title>
            <style>
            </style>
        </head>
        <body>
            <div msg="123
    123" id="test">i am a div</div>
            <script>
                function $(o){return document.getElementById(o)}
                alert( $('test').getAttribute('msg') ); // 为什么这个alert内容不换行
                var s = '123\n123';
                alert( s )  // 这里可以换行
                
            </script>
        </body>
    </html>
      

  2.   

    这样在html 里回车,会影响 html 结构 啊有其他方法吗?
      

  3.   


    <!doctype html>
    <html>
        <head>
            <meta charset="gb2312" />
            <title></title>
            <style>
            </style>
        </head>
        <body>
            <div msg="123\n123" id="test">i am a div</div>
            <script>
                function $(o){return document.getElementById(o)}
                alert( $('test').getAttribute('msg').replace(/\\n/g,"\n") );
                 var s = '123\n123';
                alert( s )  // 这里可以换行
                
            </script>
        </body>
    </html>
    没什么影响吧