(1) 在页面加载时改变了页面的结构. 在ie6中如果网络变慢或者页面内容太大就会出现"终止操作"的错误. 也就是说"永远不要在页面加载时改变页面的dom模型".
(2) 使用修改html内容添加元素, 不符合dom标准. 在实际工作中也碰到过使用这种方法修改内容后,
某些浏览器中并不能立刻显示添加的元素, 因为不同浏览器的显示引擎是不同的. 但是如果我们使用dom的createelement创建对象,
在所有的浏览器中几乎都可以. 但是在jquery中如果传入的而是一个完整的html字符串, 内部也是使用innerhtml.
所以也不是完全否定innerhtml函数的使用.
所以从现在开始请摒弃这种旧知识, 使用下面介绍的正确方法编程.
关于使用html dom创建元素本文不做详细介绍, 下面举一个简单的例子:
第一种正确方式: //使用dom标准创建元素 var select = document.createelement("select"); select.options[0] = new option("加载项1", "value1"); select.options[1] = new option("加载项2", "value2"); select.size = "2"; var object = testdiv.appendchild(select);
通过使用 document.createelement 方法我们可以创建dom元素, 然后通过appendchild方法为添加到指定对象上.
第二种方式: 使用jquery
当html字符串是没有属性的元素是, 内部使用document.createelement创建元素, 比如:
//jquery内部使用document.createelement创建元素:
$("").css教程("border","solid 1px #ff0000").html("动态创建的div").appendto(testdiv);
否则使用innerhtml方法创建元素:
//jquery内部使用innerhtml创建元素:
$("动态创建的div").appendto(testdiv)