jQuery中val.length和val().length的区别?

May*_*iya 26 javascript jquery

$("#id").val.length和之间有什么区别$("#id").val().length

当我写入$("#id").val.length然后输出1,$("#id").val().length然后输出是书写字符的长度.

解释是什么?

Tus*_*har 55

$("#id").val返回函数的函数定义vallength函数的函数是函数期望的参数个数,因为val取一个参数(setter设置值)长度为1,而val()将调用函数并获取返回值并length在其上返回值中的字符数.

正确使用是 $(selector).val().length

我也建议使用VanillaJS的装饰或jQuery的$ .trimval()检查之前length,除去开头和结尾的空格.

  • `函数的长度是函数期望的参数数量.非常好!不知道那个.(是的,已经测试过了).尝试`(功能测试(一,二){}).长度` (14认同)

Mil*_*war 9

我们来看看这两个代码:

情况1:

$("#id").val.length
Run Code Online (Sandbox Code Playgroud)

这里.val返回方法定义.val().和.length一起返回最大参数方法接受的数量(例如2表示.toggleClass())

案例2:

$("#id").val().length
Run Code Online (Sandbox Code Playgroud)

这里.val()返回方法评估结果,即字符串格式的DOM对象的值,.length返回返回的长度字符串值.

正确的方式:

情况2是.val()与长度一起使用的正确方式,因为它返回与其关联的元素的值的长度.