我想要做的是使用jQuery在段落中找到一段文本,并添加一些CSS使其变为粗体。我似乎不明白为什么这将无法工作:
$(window).load(function() { // ADD BOLD ELEMENTS $('#about_theresidency:contains("cross genre")').css({'font-weight':'bold'}); });
“about_theresidency”中的文本被动态拉入,因此我在窗口加载后执行它。
解决方法
你可以使用replace()和html():
var html = $('p').html(); $('p').html(html.replace(/world/gi,'<strong>$&</strong>'));
编辑:http://jsbin.com/AvUcElo/1/edit
我把它变成一个lil’插件,在这里:
$.fn.wrapInTag = function(opts) { var tag = opts.tag || 'strong',words = opts.words || [],regex = RegExp(words.join('|'),'gi') // case insensitive,replacement = '<'+ tag +'>$&</'+ tag +'>'; return this.html(function() { return $(this).text().replace(regex,replacement); }); }; // Usage $('p').wrapInTag({ tag: 'em',words: ['world','red'] });