2014-11-21 30 views
-1

我想定位最後一個LI並將其轉換爲另一個元素。Target last LI Javascript then manipulation

比如我有HTML標記如下

<ol class="questions"> 
    <li>Element</li> 
    <li>Element</li> 
    <li>Element</li> 
</ol> 

但我想讓它這樣在列表的最後一個元素變成一個DIV則列表元素關閉之前它

<ol class="questions"> 
    <li>Text</li> 
    <li>Text</li> 
</ol> 
    <div class="changed-div">Text</div> 

我怎麼能用JavaScript做到這一點?

我已經開始因爲很明顯你使用jQuery玩弄代碼如

$('</ol>'}).insertBefore('.questions li:last-child'); 

謝謝你們

+0

您是否使用jQuery? – j08691 2014-11-21 15:28:15

回答

2

,你可以這樣做:

var lastElement = $("ol.questions li:last"); //Store the last element in a variable 
$('ol.questions').after('<div class = "changed-div">' + lastElement.html() + '</div>'); //Create a new div after the list with the contents of the last element 
lastElement.remove(); //Delete the last element 
0

選擇器可能會失敗有時,我建議選擇像這樣的標籤

var questionArray = $('.questions').find('li'); 

這將使所有的Li組成的陣列您OL裏面,拿到最後一個

var lastQuestion = questionArray[questionArray.length-1]; 

現在你有最後一個問題在一個變量,現在你可以提取文本,並追加到任何你想要的

var changed-div = $('<div/>').addClass('changed-div').append(lastQuestion.html()); 
$('.questions').insertAfter(changed-div); 

,並從醇

lastQuestion.remove(); 

這可能需要一對夫婦的更多步驟,但給你更卸下李控制添加和刪除項目到ol和div標記