本文介绍如何使用JavaScript的createElement方法动态创建HTML元素,并通过实例演示如何设置input元素的属性与样式。重点解析在按钮点击事件中处理input值时,通过乘以1实现字符串到整数的类型转换,避免字符串拼接错误,同时提及IE浏览器兼容性问题。
createElement方法基础与动态元素创建
createElement是HTML中应用W3C DOM对象模型建立子节点也就是子元素的概念
代码如下:
<script>
window.onload = function () {
var input = document.createElement('input');
var button = document.createElement('input');
input.type ='text';
input.id= 'text';
input.value ='1';
button.type='button';
button.value ='逐加';
button.style.width = '40px';
button.style.height = '23px';
document.body.appendChild(input);
document.body.appendChild(button);
button.onclick = function(){
var value = input.value;
input.value = value * 1 + 1;
}
}
</script>
数值类型转换与字符串拼接陷阱
注:value其实是一个字符,如果将input.value=value*1+1;换成input.value=value+1;则结果会出现111111,他是不断以字符形式加1的,所以这时候value*1的就能将value值转换成Int型了。
IE浏览器兼容性处理方案
总结:
要最终解决 createElement 方法的兼容性问题,还是要注意判断浏览器,针对 IE 可以使用其特有的通过为createElement 传入一段合法的 HTML 代码字符串作为参数的方法,非 IE 浏览器仍然使用 W3C 规范的标准方法。