Использование чистого JavaScript вы можете использовать querySelectorAll()
функцию, как показано ниже:
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
for(var i=0; i<checkboxes.length; i++) { checkboxes[i].checked = true; }
К сожалению, это не позволяет избежать зацикливания, которую я знаю, что вы хотели бы избежать, и он также не имеет отличную совместимость кросс-браузер, как может можно проверить here с IE 8, только имея возможность подключиться к селекторам CSS 2.1, и Pre IE8 не поддерживается вообще, но это лучшее, что можно сделать, не используя много кода и избегая jQuery.
Я знаю, что вы хотите, чтобы избежать JQuery, но, если вы передумаете, вы можете попробовать следующее:
$('input[type="checkbox"]').attr('checked', 'checked')
Это должно зацепить к любому входу флажок и установите его атрибут проверить с помощью функции JQuery attr()
,
Если это не работает, попробуйте дать вашим Флажки свое собственное имя класса, такие как флажок и попробовать, как выглядит следующим образом:
$('.checkbox').attr('checked', 'checked')
Это поможет с проблемами совместимости и позволит избежать зацикливания, но если вы этого не сделаете хотите пойти по маршруту jQuery, а затем проигнорировать.
Вопрос просит чистого JavaScript не JQuery ... – lifetimes
Я бы не хотел использовать jQuery, потому что это был бы мой единственный javascript на странице ... – Alex
Извинения! Я неправильно прочитал вопрос, я прочитал, что это можно сделать в jQuery, не «как» в jQuery ... Извинения. Надеюсь, это может быть полезно для кого-то еще, пока я вернусь с фактическим ответом в ближайшее время! –