我想用ul
(無序列表)替換所有ol
(有序列表)標籤。它可以工作,但是當它實際上進行交換時,則會寫入一個新事物,並假設您想要添加到列表中,但事實並非如此。因此,我認爲代碼有問題。用jquery替換html標籤
$(document).ready(function() {
$('ol').replaceWith("<ul>" + $('ol').html() + "</ul>");
});
本質上,它的工作,但這一行不讓我添加新的列表對象。
我想用ul
(無序列表)替換所有ol
(有序列表)標籤。它可以工作,但是當它實際上進行交換時,則會寫入一個新事物,並假設您想要添加到列表中,但事實並非如此。因此,我認爲代碼有問題。用jquery替換html標籤
$(document).ready(function() {
$('ol').replaceWith("<ul>" + $('ol').html() + "</ul>");
});
本質上,它的工作,但這一行不讓我添加新的列表對象。
$.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>
這很容易,你甚至不必使用jQuery。
var ol = document.querySelector('ol');
ol.outerHTML = ol.outerHTML.replace(/ol/, 'ul');
如果你想與ul
更換每ol
標籤,你需要使用querySelectorAll()
和運行一個循環。例如:
var ol = document.querySelectorAll('ol');
for(var i = 0; i < ol.length; i++) {
ol[i].outerHTML = ol[i].outerHTML.replace(/ol/, 'ul');
}
你需要'querySelectorAll'來取代所有這些 – quirimmo
@quirimmo真的,但是這個操作並沒有提到他們所有的東西。無論如何,我會更新它 – natanelg97
替換操作,你正在做的這是已經在DOM創建的元素。如果將新元素添加爲無序列表,那麼它將以無序列表形式出現。因此,每次添加新元素時,都必須調用替換方法來替換爲已排序列表
你如何添加新列表對象,你能否請求顯示*全部*「* [mcve] *」代碼來重現你的問題? –
你想用'ul'替代**每個**'ol'標籤,還是僅僅指定一個? – natanelg97