简体   繁体   English

jQuery last-child和insetBefore不起作用

[英]jQuery last-child and insetBefore does not work

My code: 我的代码:

$('#discussion li:last-child').insertBefore('<li class="other">ciao</li>');

The above does not work. 上面的方法不起作用。 This erases the last <li> element. 这将删除最后一个<li>元素。

I wish it add another <li> after the last <li> 我希望它在最后一个<li>之后添加另一个<li>

Here's a complete example https://jsfiddle.net/4q0eLkd1/13/ 这是一个完整的示例https://jsfiddle.net/4q0eLkd1/13/

If you need to add new item after the last one last you should use $.fn.append : 如果您需要在倒数第二个之后添加新项目,则应使用$ .fn.append

$('#discussion').append('<li class="other">ciao</li>');

This is the simplest and fastest solution. 这是最简单,最快的解决方案。 Behind the scene it will use native Node.appendChild method. 在幕后,它将使用本机Node.appendChild方法。

Here is a simple demonstration. 这是一个简单的演示。

 $(document).on('click', '#bott', function() { $('#discussion').append('<li class="other">New last item</li>'); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ol id="discussion"> <li>Item one</li> </ol> <button id="bott">click</button> 

See this 看到这个

 $(document).on("click","#bott",function(){ $('<li class="other">ciao</li>').insertAfter("#discussion li:last-child"); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <ol id="discussion"> <li class="self">ciao</li> </ol> <button id="bott">click</button> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM