最近项目需要使用前端动态创建元素来制作功能,制作了一个小的demo。使用原生JS发现因某些兼容性问题而不太适用于IE的老版本。
主要有两点:
1.老版本IE(以IE7为例)动态创建元素时,使用createElement()函数来创建元素时,如定义了name属性,在老版本IE中会自动被解析为SubmitName而无法使用document。getElementByName()来进行DOM操作。
2.无法在元素生成时绑定事件。
查阅了相关资料和借鉴各路大神的解决方法,完成了任务。记录一下供自己以后参考。
代码如下:
<!DOCTYPE html>
<
html
lang=
"en">
<
head>
<
meta
charset=
"UTF-8">
<
meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0">
<
meta
http-equiv=
"X-UA-Compatible"
content=
"ie=edge">
<
title>动态增加</
title>
</
head>
<
body>
<
input
type=
"button"
value=
"新增"
onclick=
"add(this.parentElement)">
<
input
type=
"button"
value=
"check"
onclick=
"check()">
</
body>
</
html>
<
script>
function
check() {
var str1
=
""
var str2
=
""
var fqi
=
/
^
[1-9]
{0,1}
\d
{1}$|^
[1-9]
{0,1}
\d
{1}
\.\d
{1,2}$
/;
var SRate
= document.