2

所以我想知道,假设您有一个多重选择器,如下所示:

$('.BOO li', '.FOO li a').click(function() {

});

你想找到href两个类的值,使用this关键字,你是如何实现的?

因为如果你继续像下面那样做,

$('.BOO li', '.FOO li a').click(function() {
    $(this).attr("href");
   //do stuff
    });

.BOO li显然被排除在外。

有没有办法this只针对 the.BOO1 li并找到它a

附加信息:-当然,另一种选择是.BOO1 li a直接选择

4

2 回答 2

3

你的意思是这样吗?

$('.BOO li', '.FOO li a').click(function() {
    var href;
    if($(this).attr("href"))
        href = $(this).attr("href");
    else
        href = $(this).find("a").attr("href");
});

这是执行上述操作的更简洁但更令人困惑的方法:

$('.BOO li', '.FOO li a').click(function() {
    var href = $(this).attr("href") ? $(this).attr("href") : $(this).find("a").attr("href");
});
于 2012-07-26T17:54:58.950 回答
2

用于.each迭代每个选定的元素,并在回调函数中用于$(this).attr("href")获取您的值。

于 2012-07-26T17:55:51.517 回答