这个js是什么意思:if (document.all&&document.getElementById)
从网上copy来一段做菜单的js:1<scripttype="text/javascript"><!--//--><![CDATA[//><!--2startList=f...
从网上copy来一段做菜单的js:
1 <script type="text/javascript"><!--//--><![CDATA[//><!--
2 startList = function() {
3 if (document.all&&document.getElementById) {
4 navRoot = document.getElementById("nav");
5 for (i=0; i<navRoot.childNodes.length; i++) {
6 node = navRoot.childNodes[i];
7 if (node.nodeName=="LI") {
8 node.onmouseover=function() {
9 this.className+=" over";
10 }
11 node.onmouseout=function() {
12 this.className=this.className.replace(" over", "");
13 }
14 }
15 }
16 }
17 }
18 window.onload=startList;
19
20 //--><!]]></script>
● 第3行的“if (document.all&&document.getElementById) ”是什么意思?document.all 和 document.getElementById返回的是什么值,在 && 计算中是怎么算的?
● 第1行的三个“<!”(包括2个“<!--”)和2个“//”是什么意思?这些和第20行的“//--><!]]>”怎么配对的?
● 第2行的startList 如果在其他代码里都不用,能不能把这个赋值省掉? 展开
1 <script type="text/javascript"><!--//--><![CDATA[//><!--
2 startList = function() {
3 if (document.all&&document.getElementById) {
4 navRoot = document.getElementById("nav");
5 for (i=0; i<navRoot.childNodes.length; i++) {
6 node = navRoot.childNodes[i];
7 if (node.nodeName=="LI") {
8 node.onmouseover=function() {
9 this.className+=" over";
10 }
11 node.onmouseout=function() {
12 this.className=this.className.replace(" over", "");
13 }
14 }
15 }
16 }
17 }
18 window.onload=startList;
19
20 //--><!]]></script>
● 第3行的“if (document.all&&document.getElementById) ”是什么意思?document.all 和 document.getElementById返回的是什么值,在 && 计算中是怎么算的?
● 第1行的三个“<!”(包括2个“<!--”)和2个“//”是什么意思?这些和第20行的“//--><!]]>”怎么配对的?
● 第2行的startList 如果在其他代码里都不用,能不能把这个赋值省掉? 展开
展开全部
第一个问题:document.all是IE浏览器才有的性质,所以document.all是用来判断是否为IE浏览器,document.getElementById是判断是否有id标签,&&是与逻辑运算,意思就是括号里面的两个条件都要成立,才能执行后面大括号的语句。
第二个问题:<!--和//-->是一个配对语句,意思就是js写在配对符号中,如果浏览器不支持js的话,就按一般编程语句的注释处理,而不是按文字显示在页面上,这是个好的编程习惯。
第三个问题:可以啊,你去好好看看js的语法书吧。
第二个问题:<!--和//-->是一个配对语句,意思就是js写在配对符号中,如果浏览器不支持js的话,就按一般编程语句的注释处理,而不是按文字显示在页面上,这是个好的编程习惯。
第三个问题:可以啊,你去好好看看js的语法书吧。
展开全部
1. 第3行的“if (document.all&&document.getElementById) ”是什么意思?document.all 和 document.getElementById返回的是什么值,在 && 计算中是怎么算的?
document.all只有IE支持,所以这个用来判断IE
document.all&&document.getElementById
表示浏览器支持document.all 而且支持document.getElementById则为真
2.第1行的三个“<!”(包括2个“<!--”)和2个“//”是什么意思?这些和第20行的“//--><!]]>”怎么配对的?
没有必要这样写,可以改为 第三行<!-- 第20行 --> 就可以了,作用是当浏览器不支持javascript,则不会把这段代码显示在页面上,<!-- -->是html的注释,不会显示的。
3.第2行的startList 如果在其他代码里都不用,能不能把这个赋值省掉?
不可以省掉
startList = function() 相当于 function startList()
是定义一个function ,是function的名称
如果你要省掉,那
window.onload = function(){
这里写 startList function 的内容
}
document.all只有IE支持,所以这个用来判断IE
document.all&&document.getElementById
表示浏览器支持document.all 而且支持document.getElementById则为真
2.第1行的三个“<!”(包括2个“<!--”)和2个“//”是什么意思?这些和第20行的“//--><!]]>”怎么配对的?
没有必要这样写,可以改为 第三行<!-- 第20行 --> 就可以了,作用是当浏览器不支持javascript,则不会把这段代码显示在页面上,<!-- -->是html的注释,不会显示的。
3.第2行的startList 如果在其他代码里都不用,能不能把这个赋值省掉?
不可以省掉
startList = function() 相当于 function startList()
是定义一个function ,是function的名称
如果你要省掉,那
window.onload = function(){
这里写 startList function 的内容
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
判断浏览器,只有IE才支持document.all
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、if (document.all&&document.getElementById) 判断浏览器是否同时支持documnet.getElementById和document.all两种表述方式(方法)。可用于判断浏览器类型。
2、在标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当做字符数据看待,CDATA的形式如下:<![CDATA[文本内容]]> 。在 XML 元素中,"<" 和 "&" 是非法的,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。CDATA 部分中的所有内容都会被解析器忽略。
3、第18行:window.onload=startList;就是引用startList这个函数对象哦。此处是可以省略这个赋值的。
2、在标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当做字符数据看待,CDATA的形式如下:<![CDATA[文本内容]]> 。在 XML 元素中,"<" 和 "&" 是非法的,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。CDATA 部分中的所有内容都会被解析器忽略。
3、第18行:window.onload=startList;就是引用startList这个函数对象哦。此处是可以省略这个赋值的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询