Jquery 从已知父元素按类名查找元素

Jquery 从已知父元素按类名查找元素,jquery,Jquery,我想按类名查找元素。我知道它会出现在一个特定的父div中,所以我不想搜索整个dom,我只想搜索特定的div。我正在尝试这样做,但似乎不是正确的语法: var element = $("#parentDiv").(".myClassNameOfInterest"); 正确的方法是什么 谢谢你很接近。你可以做: var element = $("#parentDiv").find(".myClassNameOfInterest"); var element = $(".myClassNameOf

我想按类名查找元素。我知道它会出现在一个特定的父div中,所以我不想搜索整个dom,我只想搜索特定的div。我正在尝试这样做,但似乎不是正确的语法:

var element = $("#parentDiv").(".myClassNameOfInterest");
正确的方法是什么


谢谢

你很接近。你可以做:

var element = $("#parentDiv").find(".myClassNameOfInterest");
var element = $(".myClassNameOfInterest", "#parentDiv");
  • .find()
    -
或者,您可以执行以下操作:

var element = $("#parentDiv").find(".myClassNameOfInterest");
var element = $(".myClassNameOfInterest", "#parentDiv");
…将jQuery对象的上下文设置为
#parentDiv

编辑:


此外,如果您使用
div.myClassNameOfInterest
而不仅仅是
,在某些浏览器中可能会更快。我认为这实际上可能会更慢。我不认为这会将搜索的上下文减少到
#parentDiv
。我很确定它还在DOM中搜索这个类,然后当它找到一个类时,它会检查它是否是
#parentDiv
@patrick的后代,你是对的。在您的示例中,使用id选择器指定可选上下文参数可提供最佳性能<代码>$(“.myClassNameOfInterest”和“#parentDiv”)第二个方法实际上是由jQuery在幕后转换为第一个方法。第一种方法是认可的方法。关于div-adding(告诉jQuery只检查类名的div,而不是所有元素),您也说得对。@Mike-前几天我听说jQuery将第2个示例转换为第1个示例,所以我快速查看了源代码。似乎是的。谢谢你的确认o)