老师,我是差不多学完第二阶段回头看新增视频的,还是看不懂,希望老师解释

来源:4-3 如何判断节点是html和xml元素节点

迷失的小麦

2020-02-06 16:29:00

		//Sizzle, jQuery自带的选择器引擎
		var isXML = function(elem) {
		    var documentElement = elem && (elem.ownerDocument || elem).documentElement;
		    return documentElement ? documentElement.nodeName !== "HTML" : false;
		};
		console.log(isXML(document.getElementById("test")));

		//但这样不严谨,因为XML的根节点,也可能是HTML标签,比如这样创建一个XML文档
		try {
		    var doc = document.implementation.createDocument(null, 'HTML', null);
		    console.log(doc.documentElement);
		    console.log(isXML(doc));
		} catch (e) {
		    console.log("不支持creatDocument方法");
		}
		//我们看看mootools的slick选择器引擎的源码:
		var isXML = function(document) {
		    return (!!document.xmlVersion) || (!!document.xml) || (toString.call(document) == '[object XMLDocument]')
		            || (document.nodeType == 9 && document.documentElement.nodeName != 'HTML');
		};

		//精简版
		var isXML = window.HTMLDocument ? function(doc) {
		    return !(doc instanceof HTMLDocument);
		} : function(doc) {
		    return "selectNodes" in doc;
		}
		var isXML = function(doc) {
		    return doc.createElement("p").nodeName !== doc.createElement("P").nodeName;
		}
		var isHTML = function(doc) {
		    return doc.createElement("p").nodeName === doc.createElement("P").nodeName;
		}
		console.log(isHTML(document));
		var isHTMLElement(el){
		   if(isElement){
		      return isXML(el.ownerDocument);
		   }
		   return false;
		}

1.5段代码是真的没有思路,希望老师能像如图所示一样解释一下代码的逻辑和含义

2.什么是XML?与HTML什么区别?(比如p标签就是html吧)

3.判断的基本思想是什么?前几分钟是讲到了,没听懂,我也不知道为什么,第一次看见三元运算符中有函数

之前老师对判断元素节点的解释看懂了,虽然有个遗留问题,希望老师像之前一样解释

http://img.mukewang.com/climg/5e1c00e50966d2ce09650495.jpg

写回答

1回答

好帮手慕夭夭

2020-02-06

同学你好,问题解答如下:

1.之前老师们一行行注释代码,虽然同学当时看懂了,但是其实你对代码理解的并不透彻,假如把代码去掉,隔一段时间再来复习 ,你可能会忘记很多。所以这种传授知识的方式是最不可取的,反而让同学没有办法进步。本阶段课程确实比较难理解,看一两遍看不懂都很正常的。还是建议同学多看几遍视频,把每一个案例多练习几遍,自己先去思考与探索。因为同学已经学到第二个阶段了,不能像入门阶段那样,遇到问题直接来问。要逐步开始锻炼自己的思考和解决问题的能力,不然能力得不到提升,永远是原地踏步了。如果说探索的过程中哪一句代码有疑惑,可以提出来,老师会为你解答。

2. XML 指可扩展标记语言 ,和HTML类似。目前前端开发学习的标签都是HTML 。XML不属于前端开发的技术范畴,不需要学习 ,简单的了解即可。

3. 判断没有什么基本思想可言。这个要看你实际需求,如果遇到了需要判断的,那么就使用判断。例如我需要在某一种情况下操作一些事情,那么就可以判断各种情况。

同学是不懂三元运算符吗?参考如下理解:

基本语法:

条件表达式?表达式1:表达式2

问号前面的位置是判断的条件,判断结果为布尔型。结果为true时返回表达式1,为false时返回表达式2。这个表达式并没有规定必须是什么类型 ,所以判断后,想要执行任何操作都行。

祝学习愉快~

0

0 学习 · 40143 问题

查看课程