【问题标题】:jQuery, function called without parameters, but there is parametersjQuery,没有参数调用的函数,但是有参数
【发布时间】:2013-09-24 17:58:16
【问题描述】:

关于 jQuery 有一点我不明白,也许有人可以解释一下。

例如: HTML:

<div>
<img class="class1" src="file.jpg" />
</div>
<div>
<img class="class2" src="file.jpg" />
</div>

jQuery:

(function ($) {

    $(document).ready(function () {
        $('.class1, .class2').myfunction();
    });

    function myfunction(param1, param2) {
        var img = $('img', param1);
    }

})(jQuery);

那么问题是在 param1 和 param2 中究竟是什么,如果函数被这样调用(没有将参数传递给函数)?

【问题讨论】:

  • 你可以随时在函数体中console.log(arguments)查看正在传递的参数。
  • 您执行了一个不存在的函数。 myFunction 不是 $.fn 的属性
  • 即使你正确定义了myfunction,也不会有任何参数因为你没有传递任何参数!
  • 谢谢 Kevin B,现在我明白我的错误在哪里了。

标签: jquery parameters


【解决方案1】:

函数调用应该如下:

查看:

<div>
    <img id="img1" src="file.jpg" />
</div>
<div>
    <img id="img2" src="file.jpg" />
</div>

JQuery:

(function ($) {
    $(document).ready(function () {
        var path1 = $('#img1').attr('src');
        var path2 = $('#img2').attr('src');
        myfunction(path1, path2);
    });

    function myfunction(param1, param2) {
        // your code
    }
})(jQuery);

【讨论】:

  • 是的,谢谢。或者$.fn.myfunction = function(){myfunction($('div'),'param2')} 那么我的例子也是正确的。不过谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多