如果没有单击,如何组合我的jQuery并设置默认内容

时间:2012-01-03 14:54:36

标签: jquery

可以在简单的代码中结合我的jQuery吗?

$(document).ready(function () {
    $("a.type").live('click', function () {
        var type = $(this).data("id");
        $('#advertisements').load("ads.php?" + type);
    });
    $("a.maincat").live('click', function () {
        var maincat = $(this).data("id");
        $('#advertisements').load("ads.php?" + maincat);
    });
    $("a.subcat").live('click', function () {
        var subcat = $(this).data("id");
        $('#advertisements').load("ads.php?" + subcat);
    });
    $("a.region").live('click', function () {
        var region = $(this).data("id");
        $('#advertisements').load("ads.php?" + region);
    }); 
    $("a.byuser").live('click', function () {
        var byuser = $(this).data("id");
        $('#advertisements').load("ads.php?" + byuser);
    });     
});

根据此代码,我如何加载默认内容$('#advertisements').load("ads.php?" + 1);

目前需要点击加载特定内容。

让我知道

3 个答案:

答案 0 :(得分:2)

描述

您可以使用多个选择器,因为您始终需要id属性中的数据 并且每次都从同一个脚本加载。

示例

$(document).ready(function () {
    $("a.type,a.maincat,a.subcat,a.region,a.byuser").live('click', function () {
        var id = $(this).data("id");
        $('#advertisements').load("ads.php?" + id);
    });   

    $('#advertisements').load("ads.php?" + 1);
});

更多信息

更新

您确定要$(this).data("id")而不是要点击的元素的ìd值吗?

如果您希望id属性中的值执行此操作

var id = $(this).attr("id");

而不是

var id = $(this).data("id");

- jsFiddle Demonstration

答案 1 :(得分:1)

如果你可以将这些链接包含在div / li标签中,如下所示,

<div class="links_to_load" >
  <a href="#" id="something1>Something 1</a>
  <a href="#" id="something2>Something 2</a>
  <a href="#" id="something3>Something 3</a>
  <a href="#" id="something4>Something 4</a>
  <a href="#" id="something5>Something 5</a>
</div>

你可以将它们绑定在下面,

$('.links_to_load > a').live('click', function () {
   //do the stuffs here
});

答案 2 :(得分:1)

好吧,您可以使用多个选择器来简化代码,如果我理解正确,也可以加载默认内容:

$(document).ready(function () {
    $("a.type, a.maincat, a.subcat, a.byuser, a.region").live('click', function () {
        $('#advertisements').load("ads.php?" + $(this).data("id"));
    });

    $('#advertisements').load("ads.php?1");
});