jquery的val方法。

因子

也许你不知道(至少我之前是不知道的T_T),在jqueryval()方法中是可以直接写函数的。
比如



    
        
        test
    
    
        

又比如



    
        
        test
    
    
        

缘由

为究其原因,我今天去jquery源码看了下,上面是这么写的:

//略去无关代码
isFunction = jQuery.isFunction( value );

return this.each( function( i ) {
    var val;

    if ( this.nodeType !== 1 ) {
        return;
    }

    if ( isFunction ) {
        val = value.call( this, i, jQuery( this ).val() );
    } else {
        val = value;
    }
    //略去无关代码
}

好啦,又涨新姿势了吧。。


可以看到显示判断是否是一个函数,如果要设置的值是个函数,就会先执行他,然后把它的结果放到值里面返回。

你可能感兴趣的:(html,javascript)