jquery给div添加下级元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery给div添加下级元素相关的知识,希望对你有一定的参考价值。

我用$("#dd").html(sel1)给div内添加了一个select控件
但是怎么再添加第二个$("#dd").html(sel2)就把第一个给替换了?

应当使用append()方法,因为html()方法用于设置内容时,会重写所有匹配元素的内容,因此会替换。

1、关于append()方法定义和用法:

append() 方法在被选元素的结尾插入指定内容。此外,如需在被选元素的开头插入内容,请使用 prepend() 方法。

2、语法:

$(selector).append(content,function(index,html))。

3、设计一个简单的html页面,存在一个div,和一个添加按钮。

4、设计简单的css样式:

5、此时的页面展示如下:

6、设计一个简单的select元素:

7、此时点击一次按钮,查看页面效果:

8、再次点击,如下出现两个select。

参考技术A //append后面的对象添加到前面的容器
$("#dd").append(sel2);

//前面的Jquery对象,添加到后面的容器
$sel2.appendTo($("#dd"));

一般用第一个方法就够了。
参考技术B $("#dd").html(sel1) 是对id为dd的div赋值hmtl代码, 所以你在sel2的时候,肯定会替换sel1,如果你在sel3 那么sel1和sel2均被sel3替换。
可以使用:$("#dd").html($("#dd").html()+sel2) 或者使用追加的方式均可以。
参考技术C 可以把sel2追加到DIV里面去:
sel2.appendTo($('#dd'));

或者

$('#dd').append(sel2);

你上面用的$("#dd").html(sel2); 这个意思是把DIV的html设置成sel2,它肯定会只存在sel2,不存在sel1,$('#dd').html(str); 相当于JS里面的innerHTML

希望对你有帮忙...本回答被提问者采纳
参考技术D $("#dd").append(sel2);

JS或者jQuery怎么给动态添加的DOM元素绑定事件

楼下说得太简单了,估计提问者看不懂。

假设,你有以下DOM

<div id="dvTest">
    <div>在这下面加一个按钮</div>
</div>

然后你添加一个按钮,方法如下

function addButton()
    var $container = $("#dvTest");
    $container.append("<a href='javascript:;'>click me</a>");

然后,给刚加的按钮一个click事件

//你要先找到你加的这个按钮
$("#dvTest > a").click(function() alert('you clicked me') );
//或
$("#dvTest > a").unbind().on('click'), function() alert('you clicked me') );

我觉得你主要是jQuery的筛选器用得不够熟。你可以搜一下,大概看看。只要能找到控件,绑定事件都不叫事儿。

参考技术A 添加后再绑定事件。
或者用on来绑定

以上是关于jquery给div添加下级元素的主要内容,如果未能解决你的问题,请参考以下文章

JS或者jQuery怎么给动态添加的DOM元素绑定事件

jQuery给动态添加的元素绑定事件的方法

jquery attr和data给元素添加自定义属性

(转)Jquery获取上级下级或者同级的元素

jquery怎么清空div的子元素?

Jquery 动态交换两个div位置并添加Css动画效果