在元素中查找文本字符串并在其周圍包裹一些span標記我想在元素中找到一串文本,并圍繞它包裹一些span標簽。例如從:<h2>We have cows on our farm</h2>至:<h2>We have <span class='smallcaps'>cows</span> on our farm</h2>我試過了:$("h2:contains('cow')").each(function() {
$(this).text().wrap("<span class='smallcaps'></span>");});但這只包裝整個包含h2標簽。
3 回答
慕后森
TA貢獻1802條經驗 獲得超5個贊
另一種方法,按關鍵字拆分并加入更新后的html。
$("h2:contains('cow')").html(function(_, html) {
return html.split('cow').join("<span class='smallcaps'>cow</span>");});注意:我沒有對此進行過測試,但我認為這會比進行替換更糟糕,但是我會將其包含在內以供參考之用
慕標5832272
TA貢獻1966條經驗 獲得超4個贊
這是@ undefined的答案的變體,它循環遍歷一系列項目:
var barnyardArray = [
'cow',
'horse',
'chicken',
'hog',
'goat',
'goose',
'duck',
'llama'];$.each(barnyardArray, function (index, value) {
$("p:contains(" + value + ")").html(function (_, html) {
var regex = new RegExp(value, 'g');
return html.replace(regex, '<span class="smallcaps">' + value + '</span>');
});});- 3 回答
- 0 關注
- 643 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消
