获取特定类中的所有First链接

时间:2014-05-14 14:52:00

标签: javascript jquery

所以我知道使用“a:first”将获得页面的第一个链接。让我们假设我们有以下内容:

<div class="masterclass">
   <a href="#">Link 1</a>
   <a href="#">Link 2</a>
</div>
<div class="masterclass">
   <a href="#">Link 1</a>
   <a href="#">Link 2</a>
</div>

当然我可以使用以下代码来获取“masterclass”类的第一个“a”

$('.masterclass a:first').click(function() {
alert('yayfirstlink');
});

但是我不明白如何获得每个“masterclass”的第一个链接

5 个答案:

答案 0 :(得分:2)

您需要在此处使用find(),因为您的选择器会在.masterclass中找到所有锚元素,然后只过滤第一个。但是当你使用.find()时,它会首先找到所有.masterclass元素,然后在每个元素中找到第一个锚元素。

$('.masterclass').find('a:first').click(function() {
alert('yayfirstlink');
});

或者如果您确定目标元素将是其父元素的第一个子元素,那么您可以使用:first-child

$('.masterclass a:first-child').click(function() {
alert('yayfirstlink');
});

答案 1 :(得分:1)

试试这个,

var oFirstAnchor = $(".masterclass a:first-child");

答案 2 :(得分:1)

$(".masterclass a:first-child")正是您要找的。

这样:

$('.masterclass a:first-child').click(function() {
    alert('yayfirstlink');
});

答案 3 :(得分:1)

这是你循环遍历每个masterclass并获取它的第一个链接的方式。 我不知道你想用它做什么,所以我只能提供这个

$(document).ready(function(){

var fields = $('.masterclass a:first-child');
  $.each(fields, function(index, val){
     alert(index);
  });
});

这会警告当前的链接数组索引 http://jsfiddle.net/kBd82/6/

答案 4 :(得分:0)

我建议使用第一个类型选择器。

$('.masterclass a:first-of-type')

这样它总是会在每个masterclass div中选择第一个锚标记,即使你稍后在div中放入其他东西。

http://api.jquery.com/first-of-type-selector/