在jQuery中,是否可以在选择器中定位子节点的子节点?

时间:2014-10-30 21:41:15

标签: javascript jquery

我是jQuery的新手,我今天碰到了一些东西,我不确定如何处理。基本上我想通过知道第一个元素的类来定位元素子元素的子元素。举个例子,这是一个简单的点击监听器,可以查找.my-class中的任何一个:

$('.my-class > a').click(function(){
   //Do something here.
})

但是,比方说,我们想要选择一个孩子的孩子,或者在我看来会是这样的:

    $('.my-class > div > a').click(function(){
      //Do something else here.
    })

假设我们不能拥有div或a的id或类,那么使用选择器定位它的最佳方法是什么?

感谢阅读。

编辑:关闭功能

2 个答案:

答案 0 :(得分:0)

jQuery API中有两种方法可以帮助您:findchildren

两者都选择了一个选择器。 children将在您调用该方法的元素的所有直接子节点上运行。另一方面,find将贯穿其所有直接和间接的孩子。

例如,您可以使用这样的代码:

var div = $(".myClass");
var a = div.children("a");

或者:

var div = $(".myClass");
var a = div.find("a");

然后你可以按照自己的意愿使用这些锚来获取。我也喜欢这种方法,因为你将每组元素都放在单独的变量中,如果你要在代码上进一步处理这些元素,这很有用。

请阅读相关文档,并使用控制台进行试用。祝你好运!

答案 1 :(得分:-1)

这样做更容易:

$('#element').find('#child').find('#grandchild')

显然,您可以将#child替换为div,例如。