我想用ol
(无序列表)替换所有ul
(有序列表)标记。它可以工作,但是当它实际上交换时,则会编写一个新的东西并假设您想要添加到列表中,但事实并非如此。因此,我认为代码有问题。
$(document).ready(function() {
$('ol').replaceWith( "<ul>" + $('ol').html() + "</ul>" );
});
基本上,它正在工作,但这一行不允许我添加新的列表对象。
答案 0 :(得分:1)
这很简单,你甚至不必使用jQuery。
var ol = document.querySelector('ol');
ol.outerHTML = ol.outerHTML.replace(/ol/, 'ul');
如果您想将{strong>每个 ol
标记替换为ul
,则需要使用querySelectorAll()
并运行循环。例如:
var ol = document.querySelectorAll('ol');
for(var i = 0; i < ol.length; i++) {
ol[i].outerHTML = ol[i].outerHTML.replace(/ol/, 'ul');
}
答案 1 :(得分:0)
$.each($('ol'), function(ind) {
$(this).replaceWith("<ul>" + $(this).html() + "</ul>");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ol>
<li>1</li>
<li>2</li>
</ol>
<ol>
<li>First</li>
<li>Second</li>
</ol>
答案 2 :(得分:0)
替换您在DOM中已创建的元素上执行的操作。如果你将新元素添加为无序列表,那么它将作为无序列表。所以每次添加新元素时,都必须调用replace方法替换为有序列表