叶辰仙武帝尊免费阅读-[js高手之路]HTML标签解释成DOM节点的实现方法
函数
石景数学网
这篇文章
2021-09-07

最近在封装一个开源框架,已经写了500行, 已经具备jquery的大多数常用功能,后面还会扩展大量的工具叶辰仙武帝尊免费阅读和MVVM双向驱动等功能。跟jquery的使用方法完全一样,jquery的选择器,几乎都能支持,为什么说这事,跟这篇文章的主题有毛关系呢?因为这篇文章要讲的就是我在写框架过程中碰到的一个问题,封装jquery的after方法,支持DOM和html叶辰仙武帝尊免费阅读两种用法,html叶辰仙武帝尊免费阅读传参,我要把html解释成DOM结构,用DOM的方法插入.

this is a test string

我们接着用正则把这个html的每一部分匹配出来,我们需要的是:

为了便于创建dom,我们用一个json保存,比如这个叶辰仙武帝尊免费阅读,我们要处理成的最终结果是:

{ id:"test inner:"this is a test string name:"test" onclick:"test();" style:"color:red;background:green;" t**:"div" }

如果有了这个结构,只要拿到对应的键和值,组装成一个dom就可以搞定了

var o = document.createElement( obj['t**'] ); o.innerHTML = obj['inner']; delete obj['inner']; delete obj['t**']; for( var key in obj ){ o.setAttribute( key, obj[key] ); } document.body.appendChild( o );

解释思路已经明确,那么我们首先就要把html叶辰仙武帝尊免费阅读的每部分用正则表达式匹配出来

var re = /<(\w+\s*)(\w+[=][\'\"](.*)?[\'\"]\s*)*>(.*)?<\/\w+>/; var str = 'this is a test string'; var res = str.match(re);

res[2]存储的是属性和值,我们用split叶辰仙武帝尊免费阅读按空格切割一次,再用split叶辰仙武帝尊免费阅读按'='切割一次,就能分解出来了

var re = /<(\w+\s*)(\w+[=][\'\"](.*)?[\'\"]\s*)*>(.*)?<\/\w+>/; var str = 'this is a test string'; var res = str.match(re); var t**Name = null, attrList = [], arr = [], obj = {}; if( res[1] ) { t**Name = res[1].trim(); obj['t**'] = t**Name; } if( res[4] ) { obj['inner'] = res[4]; } if ( res[2] ) { attrList = res[2].split( /\s+/ ); for( var i = 0, len = attrList.length; i < len; i++ ){ arr = attrList[i].split("="); // console.log( arr ); obj[arr[0]] = arr[1].replace( /(^[\'\"]+|[\'\"]$)/g, function(){ return ''; } ); } } var o = document.createElement( obj['t**'] ); o.innerHTML = obj['inner']; delete obj['inner']; delete obj['t**']; for( var key in obj ){ o.setAttribute( key, obj[key] ); } document.body.appendChild( o );

以上这篇[js高手之路]HTML叶辰仙武帝尊免费阅读解释成DOM节点的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。