【问题标题】:How to create a function that is如何创建一个函数
【发布时间】:2011-01-11 13:19:33
【问题描述】:

我不是程序员,我只是一个有一点编程技能的网页设计师,我请求你帮助学习更多关于 jquery/javascript 的知识。

我有一个函数调用 2 个不同的 div(test1 和 test2)

myFunction ($("#test1"));
myFunction ($("#test2"));

我想尝试实现类似于

myFunction ($("#test1") $("#test2"));

因为我想尝试使用一个调用,调用多个 div。我的问题是我的 ipotetical myFunction 应该是这样的:

myFunction (param1, param2){ if(typeof param2 == "undefined"){param2 = $(window)}; // do something}

我不知道如何创建对函数的多次调用以执行相同的操作但对不同的元素执行,而且我可以有多个参数,这对我来说并不容易。

有什么建议吗?或者我可以阅读的一些资源? thx,提前! :)

【问题讨论】:

  • +1 至少你自己尝试过一些东西!
  • @Anders,你太客气了。作为网页设计师,你总是先尝试,而不是谷歌,而不是询问。是意大利语而不是英语的问题,甚至没有学过编程(我是自学的),我确实不知道如何表达这个问题。我应该想知道更多关于 Jquery 网站(有时我发现很难从信息库中获取我想要的东西,很多有趣的东西都嵌套了)

标签: javascript jquery function


【解决方案1】:
myFunction($("#test1, #test2, #test3"));

看看http://api.jquery.com/multiple-selector/

【讨论】:

  • 我真是个白痴...我正在尝试 myFunction ($("#test1", "#test2"));我为落在基础上感到羞耻:(谢谢!
【解决方案2】:

另一种方式,通过plugin

<div>Hello</div>
<div class="blah">Another</div>
<div class="foo">And another</div>


$.fn.myFunc = function() {

    // loop over all matches
    this.each(function() {

        // do something with each match
        alert($(this).text());            
    });
    return this;
};

// call it on any set of elements like this
$("div").myFunc();

演示:http://jsfiddle.net/sbcvg/

【讨论】:

  • 这将是首选技术。只需使用一个有效的选择器函数来匹配你想要给它的所有 div。
  • 什么是.fn。 $.fn.myFunc 的?调用函数的定义?还是别的什么?
  • 这意味着你正在“向 jQuery.fn 对象添加一个新的函数属性,其中属性的名称是你的插件的名称”。查看我的答案中的链接。
  • @karim79:我查过了,但我不明白那个元素是什么。 +1 学到了新东西:) [我现在才注意到第一个链接,谢谢]
  • @Littlemad - 这是你插件的名字。所以如果你说$.fn.makeItRed,那么你会称它为$("selector").makeItRed();
猜你喜欢
  • 1970-01-01
  • 2016-10-12
  • 1970-01-01
  • 2021-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多