如何搜索具有以下所示属性的文本。
.css('font-weight', 'bold');
.css('font-style', 'italic');
.css('text-decoration', 'underline');
<b> Some Text </b>
<u> Some Text </u>
<i> Some Text </i>
我想替换像这样的文字
var body = $('body');
var replaced = body.html().replace(text,'<span class="hasStyle">'+text+'</span>');
$('body').html(replaced);
答案 0 :(得分:2)
在jQuery中使用filter和wrap函数。这是一个简单的例子:
$("*").filter(function(i, elm) {
return $(elm).css("text-decoration").match(/underline/i);
}).wrap("<span class=\"highlight\" />");
http://jsfiddle.net/joshcomley/6RNQx/
这可以让您大致了解如何解决问题,并且您可以轻松地将过滤器扩展到您自己的标准。
答案 1 :(得分:1)
1)块的第一部分用于设置值。
2)请尝试这个
var ccsStyle="font-weight:bold";
var elements = [];
$("*").each(function(){
var st = $(this).attr("style");
if(st.indexOf(cssStyle) > -1) elements.push(this);
});
// now elements array holds all you need to replace
答案 2 :(得分:0)
你可以这样成功;
$(this).find("span").each(function(index, value){
var fontstyle = $(this).css('font-style');
if(fontstyle == "italic")
{
//Do it here
alert("it's italic\n" + $(this).html());
}
});