jquery的val方法。

发布时间:2019-05-24 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了jquery的val方法。脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

因子

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

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>test</title>
    </head>
    <body>
        <form class="" action="index.html" method="post">
            <input type="hidden" id="test_input" name="name" value="">
        </form>
<script src="http://libs.useso.com/js/jquery/1.9.1/jquery.min.js" charset="utf-8"></script>
<script type="text/javascript">
function test_callback(){
    return "hahaha";
}
var $obj=$("#test_input");
$obj.val(test_callback);
alert($obj.val());
</script>
    </body>
</html>

又比如

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>test</title>
    </head>
    <body>
        <form class="" action="index.html" method="post">
            <input type="hidden" id="test_input" name="name" value="">
        </form>
<script src="http://libs.useso.com/js/jquery/1.9.1/jquery.min.js" charset="utf-8"></script>
<script type="text/javascript">
var $obj=$("#test_input");
$obj.val(function(){
    return "4444";
});
alert($obj.val());
</script>
    </body>
</html>

缘由

为究其原因,我今天去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;
    }
    //略去无关代码
}

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


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

脚本宝典总结

以上是脚本宝典为你收集整理的jquery的val方法。全部内容,希望文章能够帮你解决jquery的val方法。所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: