有如下代码:<!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=utf-8" />
<title>无标题文档</title>
</head><body>
<div id="right"> <div id="right_01" class="rightStyle">
<div class="rightFlash" >
111111111111
</div>
</div>
<div id="right_02" class="rightStyle">
<div class="rightFlash" >
2222222222
</div>
</div>
<div id="right_03" class="rightStyle">
<div class="rightFlash" >
333333333333
</div>
</div>
</div>
</body>
</html>内容为一个大的DIV包括三个小的DIV,显示正常。
但是如果作如下改动:<!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=utf-8" />
<title>无标题文档</title>
</head><body>
<div id="right"> <div id="right_01" class="rightStyle">
<div class="rightFlash" >
111111111111
</div>
<script type="text/javascript">
document.write("<script src=\"ei.js\" type=\"text/javascript\"></script>");
</script>
</div>
<div id="right_02" class="rightStyle">
<div class="rightFlash" >
2222222222
</div>
</div>
<div id="right_03" class="rightStyle">
<div class="rightFlash" >
333333333333
</div>
</div>
</div>
</body>
</html>奇怪的事情发生了,后面两个DIV消失了。。
哪位大侠给解释一下这是怎么回事啊???
着急!着急!着急!
谢谢!!!
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body>
<div id="right"> <div id="right_01" class="rightStyle">
<div class="rightFlash" >
111111111111
</div>
</div>
<div id="right_02" class="rightStyle">
<div class="rightFlash" >
2222222222
</div>
</div>
<div id="right_03" class="rightStyle">
<div class="rightFlash" >
333333333333
</div>
</div>
</div>
</body>
</html>内容为一个大的DIV包括三个小的DIV,显示正常。
但是如果作如下改动:<!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=utf-8" />
<title>无标题文档</title>
</head><body>
<div id="right"> <div id="right_01" class="rightStyle">
<div class="rightFlash" >
111111111111
</div>
<script type="text/javascript">
document.write("<script src=\"ei.js\" type=\"text/javascript\"></script>");
</script>
</div>
<div id="right_02" class="rightStyle">
<div class="rightFlash" >
2222222222
</div>
</div>
<div id="right_03" class="rightStyle">
<div class="rightFlash" >
333333333333
</div>
</div>
</div>
</body>
</html>奇怪的事情发生了,后面两个DIV消失了。。
哪位大侠给解释一下这是怎么回事啊???
着急!着急!着急!
谢谢!!!
因为每当浏览器遇到</script>,都假定其中的代码快是完整的(即使它出现在javascript字符串中)。。如果如楼主那样写的话,浏览器会显示网页如下:
<script type="text/javascript">
document.write("<script src=\"ei.js\" type=\"text/javascript\">"
</script>
</script>因此,必须把</script>闭合标签分开写
按你的写法,浏览器输出后,代码成了下面这样:
<script type="text/javascript" src="ei.js" type="text/javascript">
<script>
</div>
<div id="right_02" class="rightStyle">
<div class="rightFlash" >2222222222
</div>
</div><div id="right_03" class="rightStyle">
<div class="rightFlash" >
333333333333
</div>
</div></div></body></html>看到木有,<script>标签没有关闭,无法正确创建文档树了。
但是在Firefox中script标签貌似被正确创建了,只是后面的DIV不见了
<script type="text/javascript">
document.write("<script src=\"ei.js\" type=\"text/javascript\">"
</script>
</script>
可以看到,document.write后面的闭括号遗失,另外,有两个</script>标签。。
这就是一次要把</script>分开写的原因
<放在了“”,如果将<放在了“”中,会被当成是字符串,而不会被解析为html实体
document.write("<script src=\"ei.js\" type=\"text/javascript\">"+<+"/script>");