У меня проблема с обнаружением состояния видимости флажка, и я хотел бы попросить вас о помощи..is (": visible") после поиска
У меня есть dynamicaly загруженную часть страницы, которая выглядит как:
<div id="box">
<div class="colored">
<input type="checkbox" value="f01" name="mycheckbox">
<!-- some content -->
<div>
<div class="colored">
<input type="checkbox" value="f02" name="mycheckbox">
<!-- some content -->
<div>
<!-- .... -->
</div>
Это означает, скажем, вещи в какой-то галерее. Каждый класс = «цветной» div может быть ВИДИМЫМ или СКРЫТОМ. Позволяет сказать, это просто фильтр, как я хочу, чтобы иметь видимый только класс = «окрашен в желтый цвет» дивы
А теперь суть проблемы: мне нужно проходным всего BOX элемента, найти все флажки и по каждому флажку «спросите его», если он виден, и если это правда, проверьте его.
Unforunately, это не работает:
function checkallfav() {
$("#box").find('input[type=checkbox]').each(function() {
if (this.is(":visible")) {
this.checked = true;
}
});
}
//And this doesn't work as well
function checkallfav() {
$("#box").find('input[type=checkbox]').is(":visible").each(function() {
this.checked = true;
});
}
Проблема заключается в том, что функция FIND возвращает весь элемент, я попытался console.debug (это); и в firebug, ответ был весь элемент html
Итак, пожалуйста, у кого есть решение?
Вы должны использовать '$ (это). («: Видимый»)' – Satpal
Как показывает два ответа, либо из ваших методов * может * работали, у вас просто были небольшие ошибки в обоих. – Jamiec