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

时间:2015-10-23 11:18:33

标签: javascript jquery

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

当我写$("#id").val.length时,输出为1$("#id").val().length,则输出为书写字符的长度。

解释是什么?

3 个答案:

答案 0 :(得分:53)

$("#id").val返回vallength 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()将调用并执行此函数。