2013-08-28 89 views
0

给定一个HTML无序列表插入列表元素在倒数第二个位置

<ul id = "master_key_list"> 
    <li id="master_key_23" class="available_element">Fix the Peanut Butter</li> 
    <li id="master_key_24" class="available_element">Focus on Price Sensitivity</li> 
    <li id="master_key_25" class="available_element" >Focus on Messaging</li> 
    <li id="master_key_26" class="available_element">Create Growth and Retention Funnels</li> 
    <li id="new_bp_element_element" class="available_element">Additional Best Practice?</li> 
</ul> 

哪能最后一个列表元素之前添加另一个列表元素?

我已经试过

$("#master_key_list li:last").before("<li />").append(appendString); 

其中appendString是一个有效的串联HTML文本。但是,所有这些都是覆盖最后一个列表元素文本,而不是实际插入它。

回答

0

插入一个新的列表项,但文本改变了原来的li选中。

而不是使用append的,使用insertBefore

$("<li />", { text: appendString }).insertBefore("#master_key_list :last-child"); 

这里的小提琴:http://jsfiddle.net/4GhbW/

0

我想你需要的是

$('<li />', { 
    text: appendString 
}).insertBefore('#master_key_list li:last') 
1
$("<li>new text</li>").insertBefore($("#master_key_list li:last")); 

demo