Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Помогите с Jquery запросом. как выбрать дочерний элемент сложенной структурой (https://javascript.ru/forum/events/47166-pomogite-s-jquery-zaprosom-kak-vybrat-dochernijj-ehlement-slozhennojj-strukturojj.html)

Keith 11.05.2014 20:00

Помогите с Jquery запросом. как выбрать дочерний элемент сложенной структурой
 
есть коментарии на сайте, которые являются ответом к коментарию (им
придается стиль - margin-left:40px), и нужно написать селектор, который
будет добавлять класс внутри лежащему диву. примерно так это выглядит

<div id="comEnt12">
    <div>
        <div>name</div>
        <div class="comment_text">comment</div>
    </div>
</div>
<div id="comEnt13">
    <div>
        <div>name</div>
        <div class="comment_text">comment</div>
    </div>
</div>
<div id="comEnt14" style="margin-left:40px;">
    <div>
        <div>name</div>
        <div class="comment_text">answer comment</div>
    </div>
</div>
<div id="comEnt15">
    <div>
        <div>name</div>
        <div class="comment_text">comment</div>
    </div>
</div>


Вот пример на http://jsfiddle.net/6V6US/7/
Нужно придать класс диву "comment_text", но только тому, у которого есть родитель с аттрибутом style="margin-left:40px;".
Доступа к исходному коду у меня нету, его пишет CMS, есть только доступ к JS

З. Ы. я написал селектор который выбирает первый див (написан ниже) а как выбрать третий не знаю :cray: помогите пожалуйста
$('[id *= "comEnt"][style *= "margin-left:40px;"]')

Octane 11.05.2014 20:06

:eq(3)

Keith 11.05.2014 23:22

проблема решилась, подсказали вот тут

$("div[id^='comEnt']").filter(function(){
    return $(this).css('margin-left') == '40px';
}).find(".comment_text").css('color','red');


http://jsfiddle.net/3mate/

Aetae 12.05.2014 01:59

Keith,
Почему бы не сделать это на css?
div[style="margin-left:40px;"] .comment_text {
    color: red
}

Keith 12.05.2014 22:03

Цитата:

Сообщение от Aetae (Сообщение 311469)
Keith,
Почему бы не сделать это на css?
div[style="margin-left:40px;"] .comment_text {
    color: red
}

Спасибо, оказывается так тоже можно. вот я нуб):D *ушел учить ксс селекторы*


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