Товарищи, добрый день. Очень мало изучаю java и jquerry, поэтому даже при решении простой (на мой взгляд) задачи испытал крайние затруднения. Очень надеюсь на вашу помощь!
Итак, дано:
Два блока div с каким-то содержимым, например
<div class="js-loader">
111
</div>
<div class="js-loader">
<iframe>222</iframe> // вставляется через сторонний script
</div>
(По сути первый блок без iframe создан для проверки работоспособности скрипта)
Задача: проверять содержимое div, и, если там есть iframe, то убирать дополнительный класс, если флэйма нет (aka грузится скрипт) - то добавляем доп. класс (который рисует картинку подгрузки на время, пока скрипт не подгрузится и не появится iframe).
Пока не берем тот момент, что возможно, скрипту нужно будет периодически проверять содержимое блока (чтобы на момент подгрузки скрипта повторить свой алгоритм)
Что смог сделать я:
<script type="text/javascript">
$(document).ready(function()
{
if ($('.js-loader').children("iframe")) {
$('.js-loader').removeClass( "js-post-loader" ); // если iframe есть - убираем класс
} else {
$('.js-loader').addClass( "js-post-loader" ); // если iframe нет - добавляем класс, который в бэкграунд пропишет значек загрузки
}
});
</script>
В чем проблема: как мне объяснили, "if" работает с булевым значением, а у меня - массив данных, поэтому "if" всегда срабатывает как true. Скорее всего скрипт должен выглядеть как-то иначе. Я буду вам ОЧЕНЬ благодарен за подсказки.
Всем заранее огромное спасибо!