document.write('<table width=100% border=0 cellspacing=0 cellpadding=0><tr><td align="center">aaaaaaa<br>bbbbbbb</td><td align="center" valign="top"><SCRIPT SRC=http://www.123.com/new.js></SCRIPT> </td></tr></table>')上面这个另存为.js后,再调用该js。
本来应该是一行二列的显示,却变成了一列直接排下来。请问怎样才能解决这个问题?谢谢。

解决方案 »

  1.   

    <script>
    document.write('<table width=100% border=0 cellspacing=0 cellpadding=0>');
    document.write('<tr><td align="center">aaaaaaa<br>bbbbbbb</td><td align="center" valign="top">');
    </script>
    <SCRIPT SRC="http://www.123.com/new.js" ></script>
    <script>
    document.write('</td></tr></table>');
    </script>
      

  2.   

    document.write(); 输出 <script>之类的会报错吧
      

  3.   


    所以啊 可以这样<scr" + "ipt>
    举个例子 呵呵
      

  4.   

    二楼那样不可以啊
    我必须把那些内容写在一个js文件中document.write(); 输出 <script>之类,不会报错。
      

  5.   

    document.write('<table width=100% border=0 cellspacing=0 cellpadding=0><tr><td align="center">aaaaaaa bbbbbbb</td><td align="center" valign="top"><SCRIPT SRC=http://www.123.com/new.js></SCRIPT> </td></tr></table>')把aaaa与bbbb直接的br去掉
      

  6.   

    这样呢
    document.write('<table width=100% border=1 cellspacing=0 cellpadding=0 ><tr><td align="center">aaaaaaa<br>bbbbbbb</td><td align="center" valign="top"><SCRIPT SRC=http://www.123.com/new.js></SCR' , 'IPT> </td></tr></table>');
      

  7.   

    document.write('<table width=100% border=0 cellspacing=0 cellpadding=0><tr><td align="center">aaaaaaa<br>bbbbbbb</td><td align="center" valign="top">JS产生内容<SCRIPT SRC="/new.js"></S'+'CRIPT> </td></tr></table>')
    主要是我标红的那里的问题!按着我这样改下就可以了。由于浏览器对JS起始和终结进行识别时使用了简单策略,所以并不会把字串当中的SCRIPT标签配对,而是一旦遇到</SCRIPT>就认为当前整个脚本定义已经结束,后面的就会舍弃了。而之前的部分,就成为一个不完整串了,根据其内容和你使用的情况,可能产生任何预料外的情况。所以必须按我的方法取消字串中</SCRIPT>的完整直义,避免被浏览器咔嚓。
      

  8.   

    我上面说到"后面的就会舍弃了。",说得不准确。我的意思是对于JS作者原来的意图而言,后面的“损失了”。但对于浏览器来说,它会把那些内容当作JS后面的HTML内容进行解释,就是张冠李戴了,当然,对于张来说,他的“冠”的确没了。