jquery中的append和js原生中的innerhtml的区别
一只以为append和 innerhtml没有区别 ,直到今天遇到一个问题,才发现这两者是有区别的。
今天有个需求,就是往select中动态添加option 代码如下:
$.ajax({ type:'POST', url:'type/feetype/load.do', dataType:'JSON', cache:false, success:function(data){ $.each(data,function(index ,item){ var id = data[index].id; var feeType = data[index].feeType; $("#feeType").innerhtml('<option value="'+id+'">'+' '+feeType+'</option>'); }); } });
刚开始以为是我数据的问题,以为后台没有数据传过来,但是后面用alert打印的时候,发现有数据,这才意识到innerhtml可能用不了。
在查阅相关资料过后,发现用append可以。为了一探究竟,就查看了它俩的区别。
append是添加子节点,html()和innerhtml作用一样 在容器中添加要添加的代码.
innerhtml用来 把String型的HTML数据 当做内容写进 Jquery 对象(HTML控件或DOM元素)中。
append用来把 String的 HTML数据,转换成HTML元素。追加到 指定的 DOM元素。