目标最后LI Javascript然后操纵

时间:2014-11-21 15:26:48

标签: javascript html

我想定位最后一个LI并将其转换为另一个元素。

例如我有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做到这一点?

我已经开始使用诸如

之类的代码了
$('</ol>'}).insertBefore('.questions li:last-child');

谢谢你们

2 个答案:

答案 0 :(得分:2)

由于很明显你正在使用jQuery,你可以这样做:

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

答案 1 :(得分:0)

选择器有时可能会失败,我建议选择li标签,如此

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

这将在你的ol中创建所有li的数组,以获得最后一个

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

现在你有一个变量中的最后一个问题,现在你可以提取文本并附加到你想要的任何内容

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

并从ol中删除li

lastQuestion.remove();

这可能需要几个步骤,但是为了向ol和div标签添加和删除项目提供更多控制权