$("#id").val.length
和$("#id").val().length
之间有什么区别?
当我写$("#id").val.length
时,输出为1
和$("#id").val().length
,则输出为书写字符的长度。
解释是什么?
答案 0 :(得分:53)
$("#id").val
返回val
和length
of a function is the number of parameters the function is expecting的函数定义,因为val
需要一个参数( setter 来设置值)的长度是{1},而val()
将调用函数并获取返回值,length
将返回值中的字符数。
正确使用$(selector).val().length
我还建议在val()
上使用VanillaJS的trim或jQuery的$.trim,然后再检查length
以删除前导空格和尾随空格。
答案 1 :(得分:8)
让我们看一下代码:
案例1:
$("#id").val.length
这里.val返回.val()
的方法定义。和.length一起返回最大参数方法接受的数量(例如2 .toggleClass()
)
案例2:
$("#id").val().length
这里.val()
返回方法评估结果,即字符串格式的DOM对象的值,.length返回返回的长度字符串值。
正确的方式:
案例2是使用.val()
和长度的正确方法,因为它返回与之关联的元素的值的长度。
答案 2 :(得分:1)
使用$("#id").val
获取函数(源代码),使用$("#id").val()
将调用并执行此函数。