2010-05-24 2 views
0

У меня есть следующая метка html.Как выбрать шрифт со значением атрибута стиля

<p> lorem ipsum lorem ipsum 
<font style="background-color:yellow"> ipsum </font> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam id enim in tellus sollicitudin viverra. Morbi nec ipsum ligula, non volutpat enim. In quis metus <font style="color:red"> Tincidunt lorem </font>blandit faucibus. Nam condimentum facilisis vestibulum. Nunc tristique est vel erat sagittis ac placerat orci varius.</p> 

Я хочу, чтобы выбрать только шрифт, который имеет «background-color:yellow» не какой-либо другой <font> тег с любым стилем

ответ

1

Я пробовал это, но каким-то образом addClass не работал. поэтому придумайте это решение.

$('font').filter(function(){ 
      var bg=$(this).css("background-color"); 
      alert('bghlight - ' + bg); 
     if (bg == "rgb(255, 255, 0)" || bg == "yellow") 
     { 
     $(this).addClass('hlight'); 
     $('font.hlight').each(function(){ 
     $(this).replaceWith($('<abbr>' + this.innerHTML + '</abbr>').addClass('abbr-hlight')); 
     }); 
     } 
    }); 
3

Вы можете просто использовать функцию фильтра:

$("font").filter(function(){ 
    var bg=$(this).css("background-color"); 
    return bg=="yellow" || bg=="rgb(255,255,0)"; 
}); 

UPDATE

Чтобы добавить вызов класса к функции addClass:

$("font").filter(function(){ 
    var bg=$(this).css("background-color"); 
    return bg=="yellow" || bg=="rgb(255,255,0)"; 
}).addClass("hlight"); 
+0

+1: это Бетер :) – Sarfraz

+0

Спасибо:) ... – mck89

+0

хорошо я фильтр, который, как теперь добавить класс к этому шрифту тэгом как мудрый «hlight». –

Смежные вопросы