原生Javascript解析HTML(非DOM操作)
一个小题目,用javascript解析HTML字符串。
具体要求如下:
1. 以深度优先的方式解析字符串,生成一个描述DOM元素的数组。
2. 数组中每个元素应该或者可能包括以下属性:
- Tag type
- ID
- Class
- 自定义属性
- 内容
3. 忽略style
设定:
1. 所有tag默认闭合 //这个地方我不确定是所有tag都有结束标签,还是说也包括这种。这里我是按前一种情况算的。
2. 在浏览器之外运行,也就是不能用js自带的DOM Parser。必须解析字符串。
举例:
输入:
"
- Hello
- World
Click
"
输出:
[{ type: 'div'},{type: 'ul',id: 'myList'},{type: 'li',class: 'hello',content: Hello},{type: 'li',customTag: 'Earth',content: World},{type: 'a',href: 'http://www.csdn.com',content: 'Click'}
]
思路:
1. 识别开始标签、结束标签和属性要用正则表达式匹配。
2. 标签内部的内容容易解析,两个标签之间的内容也就是content,要特别的注意。内容出现的位置可能有四种情况:
开始标签、结束标签之间
开始标签、开始标签之间
结束标签、开始标签之间
结束标签、结束标签之间
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
