Как решить этот CSS не является ошибкой функции

У меня есть небольшой код jQuery, но он дает мне некоторые ошибки. Может ли кто-нибудь помочь мне с этой ошибкой?

Код:

<input type = "checkbox">
<input type = "checkbox" checked>
<input type = "checkbox">
<input type = "checkbox" checked>
<input type = "checkbox">

JS

$(function() {
  var checkboxes = $("input[type=checkbox]")
      checkboxes.is(':checked').css('background-color', 'red')
      checkboxes.on('change', function() {
    var checkbox = $(this)
    checkbox.css('background-color', checkbox.is(':checked') ? 'blue' : 'transparent')
  })
})

CSS

  input[type='checkbox'] {
   -webkit-appearance: none; 
    width: 20px;
    height: 20px;
   background: grey;
 }

input[type='checkbox']:checked {
  background: red;}

Также вот ссылка: https://jsfiddle.net/3y9Lvobc/2/

Ошибка в консоли:

 checkboxes.is(...).css is not a function
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
623
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

.is возвращает логическое значение, а не объект jquery. Так что у него нет метода .css.

Вместо этого вы можете использовать .filter

checkboxes.filter(':checked').css('background-color', 'red')

.filter вернет все флажки, которые стоят :checked.

Или, в качестве альтернативы, вы можете использовать условие if, как показано ниже:

if (checkboxes.is(':checked')) {
   checkboxes.css('background-color', 'red');
}

Поскольку is возвращает логическое значение. Используйте find:

checkboxes.find(':checked').css('background-color', 'red')

Это потому, что он возвращает true/false

Проверить здесь

Returns true if there is at least one match from the given argument, and false if not.

Вместо использования свойства is(:checked) замените его на find(:checked), что устранит ошибку. проверьте приведенный ниже скрипт jquery

$(function() 
{
      var checkboxes = $("input[type=checkbox]")
          checkboxes.find(':checked').css('background-color', 'red')
          checkboxes.on('change', function() {
        var checkbox = $(this)
        checkbox.css('background-color', checkbox.is(':checked') ? 'blue' : 'transparent')
      })
    })

Проверьте, может ли это помочь.

https://jsfiddle.net/gk6x8m5r/

Другие вопросы по теме