Javascript 用jquery替换html标记

Javascript 用jquery替换html标记,javascript,jquery,Javascript,Jquery,我想用ul(无序列表)替换所有ol(有序列表)标记。它是有效的,但是当它确实交换时,就会编写一个新的东西,并且假设您想添加到列表中,它就不会了。因此,我认为代码有问题 $(document).ready(function() { $('ol').replaceWith( "<ul>" + $('ol').html() + "</ul>" ); }); $(文档).ready(函数(){ $('ol')。替换为(“”+$('ol').html()+””; });

我想用
ul
(无序列表)替换所有
ol
(有序列表)标记。它是有效的,但是当它确实交换时,就会编写一个新的东西,并且假设您想添加到列表中,它就不会了。因此,我认为代码有问题

$(document).ready(function() {
    $('ol').replaceWith( "<ul>" + $('ol').html() + "</ul>" );
});
$(文档).ready(函数(){
$('ol')。替换为(“
    ”+$('ol').html()+”
”; });

从本质上讲,它是有效的,但这一行不允许我添加新的列表对象。

这很简单,而且您甚至不必使用jQuery

var ol = document.querySelector('ol');
ol.outerHTML = ol.outerHTML.replace(/ol/, 'ul');
如果要用
ul
替换每个
ol
标记,则需要使用
queryselectoral()
并运行循环。例如:

var ol = document.querySelectorAll('ol');
for(var i = 0; i < ol.length; i++) {
    ol[i].outerHTML = ol[i].outerHTML.replace(/ol/, 'ul');
}
var ol=document.queryselectoral('ol');
对于(变量i=0;i

$。每个($('ol'),函数(ind){
$(this.replace为(“
    ”+$(this.html()+”
”); });

  • 一,
  • 二,
  • 首先
  • 第二

  • 对已在DOM中创建的元素执行的替换操作。如果将新元素添加为无序列表,则它将以无序列表的形式出现。因此,每次添加新元素时,必须调用replace方法以替换为有序列表再现您的问题的代码?您想用
    ul
    替换每个
    ol
    标记,还是只替换一个特定标记?您需要
    querySelectorAll
    来替换所有标记them@quirimmo是的,但是op没有提到所有的人。反正我会更新的