您好,欢迎访问一九零五行业门户网

javascript:FF/Chrome与IE动态加载元素的区别说明_javascript技巧

复制代码 代码如下:
ff 与 ie 动态加载元素的区别
awbpre:
awbno:
代码本意为:点击add按钮时,动态向页面添加二个输入框,同时给二个新加的输入框赋值。ie 6,7,8,9(兼容模式)下运行正常,见下面的截图:
但是在ff,chrome,ie9(非兼容模式)下,就不对了:
把add()方法改成
复制代码 代码如下:
就对了,二者的区别在于:第一种是先做赋值处理,再添加到dom树中;第二种写法是先加到dom树中,再找出对应的处理赋值。我对于前端技术实属菜鸟,个人理解:第一种写法类似按值传递,var litemplate = $(#template);后,不管再对litemplate里的元素做何处理,因为litemplate尚未加入到dom树中,最终调用litemplate.html()时,返回的html代码,还是最初处理前的html代码(有点按值传递,使用的是一个副本,不管怎么处理,不影响原值的意味);而第二种写法,先加入到dom树后,再从dom中查找到该元素时,这时相当于得到的对象的指针引用,对“指针”指向的对象做任何修改,都会直接影响对象本身(有点按引用传递的意味)
其它类似信息

推荐信息