[英]jQuery slideDown() function doesn't work for both elements after click event
[英]SlideDown() doesn't work with After() in jQuery
我想将一个元素添加到列表中,并希望它在添加时向下滑动。 但是使用after()
方法不起作用。 为什么?
HTML代码:
<ul id="myUL">
<li> First Item <li>
<li> Second Item <li>
<li> Third Item <li>
<li> Fourth Item <li>
加
js代码:
$('#add').click(function(e){
e.preventDefault();
$('li:last').after('<li> A New Item </li>').slideDown("slow");
});
小提琴完整代码: http : //jsfiddle.net/gxs46L0u/
首先,您需要关闭这些li
标签。 HTML:
<ul id="myUL">
<li> First Item </li>
<li> Second Item </li>
<li> Third Item </li>
<li> Fourth Item </li>
</ul>
然后对于js,这是一种快速而肮脏的方法:
$('#add').click(function(e){
e.preventDefault();
$('li:last').after('<li style="display:none"> A New Item </li>');
$('li:last').slideDown("slow");
});
您添加了一个元素而不显示它,并且在下一步中,slideDown将使其出现。
尝试这个:
Jsfiddle: http : //jsfiddle.net/sw9yLdt7/
<ul id="myUL">
<li> First Item </li>
<li> Second Item </li>
<li> Third Item </li>
<li> Fourth Item </li>
</ul>
<a id="add" href="#">Add</a>
使用此jQuery:
$('#add').click(function(e){
e.preventDefault();
$('<li> A New Item </li>').appendTo('#myUL').hide().slideDown();
});
<ul id="myUL">
<li> First Item </li>
<li> Second Item </li>
<li> Third Item </li>
<li> Fourth Item </li>
</ul>
<a id="add" href="#">Add</a>
$('#add').click(function(e) {
e.preventDefault();
$('#myUL').append('<li> A New Item </li>');
});
问题是您的HTML未正确关闭,请关闭它们并使用附加
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.