我需要在jQuery中处理大量的li
元素,其中每个元素都有一个<b></b>
元素,后面跟着li
的文本。看到代码:jquery选择LI的TEXT部分与其他元素分开
$("li b").wrap(function() {
return '<font color="blue">' + $(this).text() + '</font>';
});
$("li::innerText").wrap(function() {
return '<font color="red">' + $(this).innerHTML() + "</font>";
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li><b>hello</b>xxx</li>
</ul>
在上述例子中我所需要的单词hello
被包裹在蓝色和包裹在红色字xxx
。
这里是我想什么“结果” HTML是:
<ul>
<li><font color="blue"><b>hello</b></font><font color="red">xxx</font></li>
</ul>
注:我已经简化了我的问题。实际的包装会更复杂(所以CSS解决方案不是我所期待的)。
谢谢!
为什么不把整个'li'红色。然后用'b'元素的蓝色覆盖它。 –
你有多个'li'吗?你可以请张贴预期的HTML结果吗? –
我正在寻找jQuery的方式来包装LI的TEXT部分。我将添加预期的HTML.Thanks。 – checklist