我需要在每个<span>
的文本之后而不是在结束的<li>
之前添加一个</li>
标签!
<ol>
<li>a</li>
<li>b
<ol>
<li>c</li>
</ol>
</li>
<li>d</li>
</ol>
预期
<ol>
<li>a<span></span></li>
<li>b<span></span>
<ol>
<li>c<span></span></li>
</ol>
</li>
<li>d<span></span></li>
</ol>
我的尝试
$('li').each(function() {
var txtu = $(this).text();
var htmlu = $(this).html().replace('' + txtu + '', txtu + '<span></span>');
$(this).html(htmlu);
})
答案 0 :(得分:2)
请尝试以下代码:-
jQuery('ol li').each(function() {
if($(this).has('ol').length > 0){
$(this).children('ol').before('<span></span>');
}else{
$(this).append('<span></span>') ;
}
});
答案 1 :(得分:0)
使用jquery each
循环可完成此操作。
$('ol li').each(function() {
if($(this).has('ol').length > 0){
$(this).children('ol').before('<span></span>');
}else{
$(this).append('<span></span>') ;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ol>
<li>a</li>
<li>b
<ol>
<li>c</li>
</ol>
</li>
<li>d</li>
</ol>
使用开发者工具栏进行检查,现在在span
关闭之前有一个li
标记