我需要在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