HTML: <input type="checkbox" name="ch" /> <span id="ch">TEST</span> Код (Javascript): .ready(function() { var ch1 = $('#ch'), ch2 = $('input[name="ch"]'); ch2.checked ? ch1.show() : ch1.hide(); if ( this_hash ) $(window).trigger('hashchange'); $('.clickselect').click(function() { $(this).selectText(); }); }) on('change', 'input[name="ch"]', function() { ch1 = $('#ch'); this.checked ? ch1.show() : ch1.hide(); }) День добрый. Прошу помощи. В указанном коде при выборе checkbox появляется текст TEST. Все работает, но если изначально при загрузке страницы checkbox уже выбран, то текст не виден, и появляется только при установке/снятии флажка.
@Horus1613, потому что ch2 получает все элементы, удовлетворяющие селектору 'input[name="ch"]'. И проверять надо, например, ch2[0].checked, предварительно убедившись в его (элемента и индексом 0) существовании.
еретик блэт) функция висит на событии изменения чекбокса. Если изменения нет, то она и не запускается. --- Добавлено --- вот это что-то странное. Метод висит в воздухе
@TeslaFeo, суть в том, что в 3-й строчке ch2.checked имеет значение undefined в любом случае... Просто ТС пропустил $('document') в начале первой строчки --- Добавлено --- и в 11-й недокопировал id или class родительского элемента, например...