如何在jquery中获取选择器的子级?

时间:2019-01-08 18:23:20

标签: jquery

对不起,我不能很好地解释我的问题。 我想找我之前选择的标签的孩子。

我用简单的代码向您展示。

这是我的html代码:

<div class="inner">
  <div class="box">
      <a href="yaghoot.studio"></a>
   </div>
</div>
<div class="inner">
   <div class="box">
      <a href="http://google.com"></a>
   </div>
</div>

这是我的jquery代码:

$(document).ready(function () {
    $('.inner').click(function () {
        window.location = $('.inner > .box > a').attr('href');
    });
});

如果单击具有“内部”类的任何div,请打开第一个网址。 如何为每个div设置网址?

在这种情况下可以使用关键字“ this”吗?

2 个答案:

答案 0 :(得分:3)

您的逻辑不正确,因为您选择了DOM中的所有.inner元素。在此集合上调用attr()只会返回该集合中第一个元素的值。

要获取引发click事件的元素的引用,请使用this关键字和find()

$('.inner').click(function () {
  window.location = $(this).find('> .box > a').attr('href');
});

答案 1 :(得分:1)

使用this来引用要单击的元素,并使用find()来查看DOM:

window.location = $(this).find('.box > a').attr('href');