0
4

2 回答 2

5

几点:

  1. jQueryattr()方法可用于获取href任何元素上的任何属性,包括 , 。

  2. 使用已弃用on()的 jQuery 1.7+ 方法。live()

  3. 如果您将有多个<a>标签,则需要引用class名称而不是ID. 所以你会使用“。” 代替 ”#”。在您的情况下,它将.selector代替#selector.

  4. 为了减少函数内部的语句数量click,可以将两个fadeIn()具有相同时间间隔的函数组合起来,500. 请注意,在这种情况下,您将使用“,”来分隔元素,.overlayInner.closepop.

  5. 由于您在灯箱中,因此假设您不想在单击链接时迁移到另一个页面。出于这个原因,您将需要使用e.preventDefaultreturn false;作为函数内的最后一条语句。click,e将是传递给匿名的eventObject 'click', 'a.selector', function(e)

总而言之,这就是您的 javascript 的外观。

var href=$("a.selector").attr('href', 'country.php');

$(document.body).on("click", "a.selector", function(){
    $(".overlayInner").load("'+href+'");
    $(".overlayOuter").fadeIn(300); 
    $(".overlayInner, .closepop").fadeIn(500); 
    return false;
});
于 2012-05-09T01:37:58.103 回答
2

尝试这个:

$("a.selector").live("click", function() {
    var url = $(this).attr('href'); 
    $(".overlayInner").load(url);
    return false;
});

<a class="selector" href="/country.php">Country</a>
<a class="selector" href="/pigs.php">Pigs</a>

如果您想获取显示“国家/地区”的内部文本或图像,您可以执行以下操作:

$("a.selector").live("click", function() {
    var url = $(this).attr('href'); 
    var img = $(this).html(); // But what do you want to do with it?
    $(".overlayInner").load(url);
    return false;
});

<a class="selector" href="/country.php"><img src="img.jpg" /></a>
于 2012-05-09T01:37:44.633 回答