jquery的parseHTML第二季分析

2026-02-14 06:34:36

1、这段代码是一个条件语句然后返回结果

这里的rsingleTag正则到底什么意思?

我们用编辑器查找功能

jquery的parseHTML第二季分析

2、找到代码rsingleTag在62行定义了内容

这里的// Match a standalone tag

英文是什么意思呢?

就是匹配一个单独标准的html标签

jquery的parseHTML第二季分析

3、rsingleTag 就是reg_single_tag的简写,就是正则_单独_标签看看这里的正则

这里咋看上去是匹配带有<> 符号的代码可以是里面w + s ? : \1 $ () / 这些又都是怎么意思呢

翻手册:

w就是任意字母或者数字 

 \w+ 就是一个或多个字母或者数字

\s就是空格的意思

*是任意多个的意思

\s* 任意多个空格的意思

\/ 就是匹配/ 

?是可能有,可能没有

\/?是可能有/,可能没有/

()是就是分组,一组一组的

这里两个() 就是两个分组

?:翻了一下文档是非捕获,就是在分组里面不要捕获了

\1就是匹配到的第一组,比如<span></span> 比如<img src="" />

jquery的parseHTML第二季分析

4、在回到parseHTML函数里面应用rsingleTag

这里parsed 显示是获取到一个匹配正则返回的一个数组

后面return 返回的context指针指向比如body 

creatElement 就是在body下面建立一个元素

这个元素就是parsed[1] 可能是div,可能是span

jquery的parseHTML第二季分析

5、这里举个例子,更清楚

 var data ='<div></div>';

          rsingleTag =  /^<(\w+)\s*\/?>(?:<\/\1>|)$/;

          console.log(rsingleTag.exec(data));

          console.log(RegExp.$1);

结果是看看浏览器运行

Array [ "<div></div>", "div" ]

div

jquery的parseHTML第二季分析

6、这里在举个例子,可以看出创建的单个标签是div或者span返回

return context. createElement(parsed[1]) 这里就很好理解了

为什么是parseHTML();

jquery的parseHTML第二季分析

猜你喜欢