Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Выборка по значению css (https://javascript.ru/forum/jquery/17661-vyborka-po-znacheniyu-css.html)

Telnet 28.05.2011 16:15

Выборка по значению css
 
Код:

<div id="pointer_div">jQuery16104518015997745993=Object { events={...}}
<div style="display: block; background: url("http://localhost/first/coord_mouse_on_pic/3/cr.gif") repeat scroll 0% 0% transparent; position: relative; padding: 0px; width: 615px; height: 417px;">
<map id="htmlmap_com_4" name="htmlmap_com_4">jQuery16104518015997745993=Object { events={...}}
<div id="myCanvas" style="position: relative; margin: 0px; padding: 0px;"></div>
<div style="position: absolute; left: 424px; top: 195px; width: 2px; height: 2px; clip: rect(0pt, 2px, 2px, 0pt); padding: 0px; margin: 0px; background-color: red; overflow: hidden; opacity: 0.8;"></div>
<div style="position: absolute; left: 426px; top: 195px; width: 2px; height: 2px; clip: rect(0pt, 2px, 2px, 0pt); padding: 0px; margin: 0px; background-color: red; overflow: hidden; opacity: 0.8;"></div>
<div style="position: absolute; left: 424px; top: 197px; width: 4px; height: 2px; clip: rect(0pt, 4px, 2px, 0pt); padding: 0px; margin: 0px; background-color: red; overflow: hidden; opacity: 0.8;"></div>
<div style="position: absolute; left: 424px; top: 197px; width: 2px; height: 0px; clip: rect(0pt, 2px, 0px, 0pt); padding: 0px; margin: 0px; background-color: red; overflow: hidden; opacity: 0.8;"></div>
</div>

Нужно выбрать только те дивы в которых есть css свойство clip.
Типа так, но не работает.
$("div[clip]")

Enxiro 29.05.2011 12:43

точно не подскажу но как минимум нужно обращаться так
$('.clip')


ещё вот сегодня на такую функцию siblings наткнулся. можешь погуглить если первый вариант не поможет все элементы получить

monolithed 29.05.2011 15:09

Цитата:

Сообщение от Enxiro
$('.clip')

выборка элемента с классом clip это совсем не то что требуется.

kostr 29.05.2011 16:02

Попробуйте так:
$("div[style*='clip']")

Telnet 29.05.2011 16:02

$("div[style*='position: absolute;'][style*='clip']
Вот ответ с другого форума

monolithed 29.05.2011 17:47

kostr, Telnet эта выборка сработает, но только в том случае если в элементе явно определено свойство style

<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>

<script>
$(function() {
    $('p').each(function() {
        var $this = $(this);
        $this.css('color', $this.css("clip") != 'auto' ? 'green' : 'red');
    });
});
</script>
<style>div p {clip: rect(0pt, 2px, 2px, 0pt);}</style>

<p>тут свойство clip не установлено</p>
<div>
    <p>a вот здесь clip есть (задано в CSS)</p>
</div>


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