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+'">'+'&nbsp;&nbsp;&nbsp;'+feeType+'</option>');
                });
            }
        });

  刚开始以为是我数据的问题,以为后台没有数据传过来,但是后面用alert打印的时候,发现有数据,这才意识到innerhtml可能用不了。

  在查阅相关资料过后,发现用append可以。为了一探究竟,就查看了它俩的区别。

  append是添加子节点,html()和innerhtml作用一样 在容器中添加要添加的代码.

  innerhtml用来 把String型的HTML数据  当做内容写进  Jquery 对象(HTML控件或DOM元素)中。

  append用来把 String的 HTML数据,转换成HTML元素。追加到 指定的 DOM元素。

posted @ 2018-01-15 23:21  程序员清风  阅读(477)  评论(0编辑  收藏  举报