Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как сделать выборку по св-ву CSS (https://javascript.ru/forum/jquery/28606-kak-sdelat-vyborku-po-sv-vu-css.html)

Telnet 26.05.2012 18:26

Как сделать выборку по св-ву CSS
 
<p style="margin: 0,4em 0px 0,5em;"><span class="sens_5 span" id="sens_5" style="background-color: rgb(0, 153, 0); ">В уютной мирной квартире Джона Кэбела (<a href="http://ru,wikipedia,org/wiki/%D0%9C%D1%8D%D1%81%D1%81%D0%B8,_%D0%A0%D1%8D%D0%B9%D0%BC%D0%BE%D0%BD%D0%B4" title="Мэсси, Рэймонд" style="color: #0b0080; background-image: none;">Рэймонд Мэсси</a>) трое мужчин, в том числе Пиппа Пассуорти (<a class="new" href="http://ru,wikipedia,org/w/index,php?title=%D0%A7%D1%8D%D0%BF%D0%BC%D0%B5%D0%BD,_%D0%AD%D0%B4%D0%B2%D0%B0%D1%80%D0%B4&amp;action=edit&amp;redlink=1" title="Чэпмен, Эдвард (страница отсутствует)" style="color: #a55858; background-image: none;">Эдвард Чэпмен</a>), обсуждают последние события. </span><span class="sens_6 span" id="sens_6" style="">Дети возле рождественской ёлки катают игрушечные танки. </span><span class="sens_7 span" id="sens_7" style="background-color: rgb(0, 153, 0); ">Один из мужчин, развлекаясь, надевает на голову пехотный шлем, потом отдаёт его маленькому мальчику.</span></p>

Есть наподобе такого код нужно выбрать те теги span у которых background-color: rgb(0, 153, 0);
Вообще то background-color: rgb(0, 153, 0) это тоже самое что и "background-color","#090"

Gvozd 26.05.2012 19:03

можно выбрать сначала все SPAN-ы, а затем, перебрав каждый, оставить только с нужными стилями.

an.semionov 27.05.2012 11:50

Вариант 1:
$('span[style*="rgb(0, 153, 0)"]')


Вариант 2:
var s = $('span').map(function(){
  if($(this).css('background-color') === 'rgb(0, 153, 0)')
    return this;
});


Могут возникнуть проблемы при сравнении строк, например:
лишний пробел, или rgb будет в верхнем регистре и т.д.

этого можно избежать удалив все пробелы и принудительно получаемое свойство привести к нижнему регистру


Часовой пояс GMT +3, время: 02:36.