Javascript 在jQuery中,是否可以在选择器中以子对象的子对象为目标?

Javascript 在jQuery中,是否可以在选择器中以子对象的子对象为目标?,javascript,jquery,Javascript,Jquery,我是jQuery的新手,今天遇到了一些问题,我不知道如何处理。基本上,我希望通过了解第一个元素的类,以元素的子元素的子元素为目标。例如,下面是一个简单的单击侦听器,用于查找.my类中的任何a: $('.my-class > a').click(function(){ //Do something here. }) 但是让我们举例来说,我们想选择一个孩子的孩子,或者在我看来是这样的: $('.my-class > div > a').click(function(

我是jQuery的新手,今天遇到了一些问题,我不知道如何处理。基本上,我希望通过了解第一个元素的类,以元素的子元素的子元素为目标。例如,下面是一个简单的单击侦听器,用于查找.my类中的任何a:

$('.my-class > a').click(function(){
   //Do something here.
})
但是让我们举例来说,我们想选择一个孩子的孩子,或者在我看来是这样的:

    $('.my-class > div > a').click(function(){
      //Do something else here.
    })
var div = $(".myClass");
var a = div.children("a");
假设我们没有div或a的id或类,那么使用选择器以其为目标的最佳方法是什么

谢谢你的阅读


编辑:关闭函数

这样做容易得多:

$(“#元素”).find(“#子项”).find(“#孙项”)


显然,您可以用
div
替换
#child

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

两者都使用选择器
children
将在调用该方法的元素的所有直接子元素上运行<另一方面,code>find将运行其所有直接和间接子级

例如,您可以使用如下代码:

    $('.my-class > div > a').click(function(){
      //Do something else here.
    })
var div = $(".myClass");
var a = div.children("a");
或:

然后,您可以使用这些工具获取锚,并根据自己的意愿进行操作。我也喜欢这种方法,因为您在单独的变量中拥有每一组元素,如果您打算在代码中进一步使用这些元素做更多的事情,这将非常有用


一定要阅读他们的文档,并在控制台上试用。祝你好运

在询问之前,您是否至少尝试过它,因为它会很好地工作?我尝试过,但我一定是在代码中的某个地方犯了错误。我会再试一次-谢谢你让我知道。嗯,你没有正确关闭这些功能吗?请给OP一个机会。我认为,当你是一个全新的人时,这些问题实际上是可以解决的——即使在文档中很容易找到。为什么会更容易,因为ID是唯一的,所以看起来更不必要?因为在jQuery中,使用jQuery方法似乎比加载CSS选择器更容易,在我看来,更容易看出发生了什么。我的观点是,这是一个糟糕的例子,因为你永远不应该使用带有ID的
find
,这肯定表明你做错了什么,而且
find
与直系后代选择器根本不一样。@Zak:真的吗?你觉得CSS读起来有多混乱?而且,如前所述,不同方法的结果不一定相同。