首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >简化jQuery函数

简化jQuery函数
EN

Stack Overflow用户
提问于 2013-07-25 16:56:05
回答 10查看 73关注 0票数 0

我想知道简化这个脚本的方法,因为不知怎么的,我又重复了一遍……

代码语言:javascript
运行
复制
$('.userprofile').click(function(){
    card_profile.load(url_settings).dialog('open');
});
$('.cust-profile').click(function(){
    card_profile.load(url_customer).dialog('open');
});
$('.my-profile').click(function(){
    card_profile.load(url_my).dialog('open');
});
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2013-07-25 17:09:05

代码语言:javascript
运行
复制
var obj = {
    '.userprofile' : url_settings,
    '.cust-profile': url_customer,
    '.my-profile'  : url_my
};

$.each(obj, function(sel, url) {
    $(sel).click(function(){
        card_profile.load(url).dialog('open');
    });
});

代码语言:javascript
运行
复制
$(".userprofile,.cust-profile,.my-profile").click(function() {
    var url = $(this).hasClass("userprofile")  ? url_settings :
              $(this).hasClass("cust-profile") ? url_customer :
                                                 url_my;
    card_profile.load(url).dialog("open");
});
票数 2
EN

Stack Overflow用户

发布于 2013-07-25 17:04:24

这样做的一种方法是迭代一个(或两个)字符串数组。

编辑:在for循环之外声明的i,以解决@Crazy序列中的注释

代码语言:javascript
运行
复制
arr = ['user', 'cust', 'my'];
url_arr = [urlA, urlB, urlC];
var i;
for (i in arr){
    $('.' + arr[i] + '-profile').click(function(){
        card_profile.load(url_arr[i]).dialog('open');
    });
}
票数 1
EN

Stack Overflow用户

发布于 2013-07-25 17:05:05

这稍微好一些,但你不能获得显著的收益--我想:

代码语言:javascript
运行
复制
$('.userprofile').data('url',url_settings);
$('.cust-profile').data('url',url_customer);
$('.my-profile').data('url',url_my);
$('.userprofile, .cust-profile, .my-profile').click(function(){
    card_profile.load($(this).data('url')).dialog('open');
});

如果为每个按钮分配URL,则不必重复这些类:

代码语言:javascript
运行
复制
$('button').click(function(){
    card_profile.load($(this).data('url')).dialog('open');
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17864188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档