Подтвердить что ты не робот

Разница между val.length и val(). Длина в jQuery?

В чем разница между $("#id").val.length и $("#id").val().length?

Когда я пишу $("#id").val.length, тогда вывод 1 и $("#id").val().length, тогда выход представляет собой длину написанных символов.

Какое объяснение?

4b9b3361

Ответ 1

$("#id").val возвращает определение функции val и length функции - количество параметров, ожидаемых функцией, поскольку val принимает один параметр ( setter, чтобы установить значение), длина равна 1, тогда как val() вызовет функцию и получит возвращаемое значение, а length - вернет количество символов в значении.

Правильное использование $(selector).val().length

Я также рекомендую использовать VanillaJS trim или jQuery $. trim на val() перед тем, как проверить length на удаление ведущих и конечных пробелов.

Ответ 2

Посмотрим на код:

Случай 1:

$("#id").val.length

Здесь .val возвращает определение метода для .val(). и .length вместе с ним возвращает число методов максимального аргумента (например, 2 для .toggleClass())

Случай 2:

$("#id").val().length

Здесь .val() возвращает результат оценки метода, т.е. значение объекта DOM в формате строки, а .length возвращает возвращаемое значение строки длины.

Правильный способ:

Случай 2 - это правильный способ использования .val() вместе с длиной, поскольку он возвращает длину связанного с ним элемента.

Ответ 3

С $("#id").val вы получите функцию (исходный код) и с помощью $("#id").val() эта функция будет вызвана и выполнена.