Добавить css класс родительскому элемнту
Здравствуйте!
У меня есть div внутри которого может быть картинка, а может и не быть... Проблема в том, что средствами css у меня не получается автоматически регулировать высоту этого блока - блок не растягивается по высоте (сам не понимаю почему, вероятно потому что он прижат к экрану свойством position: absolute), т.е. если я задаю #u25210-bw высоту жестко {height: 300px} - то работает, если нет - то картинку не видно <div class="browser_width colelem" id="u25210-bw"> <div> <!-- biggest banner --> <a href="/" target="_blank"> <div id="banner-biggest" alt="на главной" style="background-image: url('/58c0847705f64.jpg');min-height: 367px;background-color: rgb(0, 0, 0);background-position: center bottom;background-repeat: no-repeat;background-size: cover;"> </div> </a> </div> </div> Можно ли тогда средствами js добавлять новый CSS класс блоку #u25210-bw, только при условии что внутри него есть img ? |
Цитата:
Только в твоем примере нет картинки внутри элемента с ИД равным u25210-bw... :no: |
Цитата:
|
Тогда в нужный момент проверяй есть ли в том элементе картинка... Если есть - устанавливай ему нужный класс.
|
Цитата:
|
Цитата:
<div class="browser_width colelem" id="u25210-bw"> <div> <!-- biggest banner --> <a href="/" target="_blank"> <div id="banner-biggest" alt="на главной" style="background-image: url('/58c0847705f64.jpg');min-height: 367px;background-color: rgb(0, 0, 0);background-position: center bottom;background-repeat: no-repeat;background-size: cover;"> </div> </a> </div> </div> <script> var o=document.querySelector('#u25210-bw img'); alert(o); </script> |
а класс тут где присваивается?... что-то я не въезжаю:(
|
Цитата:
|
Цитата:
|
сам класс я примерно знаю как добавить можно:
$('#u25210-bw').addClass('my-class'); ... а как это с условиями связать? |
вот так вот сделал:
$('#u25210-bw').has( "#banner-biggest" ).addClass('my-class'); Правильно? ;) |
<div class="browser_width colelem" id="u25210-bw"> <div> <!-- biggest banner --> <a href="/" target="_blank"> <div id="banner-biggest" alt="на главной" style="background-image: url('/58c0847705f64.jpg');min-height: 367px;background-color: rgb(0, 0, 0);background-position: center bottom;background-repeat: no-repeat;background-size: cover;"> </div> </a> </div> </div> <script> if ($('#u25210-bw img').length>0) { $('#u25210-bw').addClass('my-class'); }; </script> |
Цитата:
|
Не эксперт в jQuery, но наверное как-то так:
$('#u25210-bw:not(:has(#banner-biggest))').addClass('my-class'); Или так: $('#u25210-bw').find('#banner-biggest').closest('#u25210-bw').addClass('my-class'); |
Часовой пояс GMT +3, время: 04:49. |