2013-08-28 107 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