我已经使用jQuery十多年了,但仍然对它有疑问。以下两者之间的区别是什么:
$(element).find(selector)
字符串和
$(selector, element)
型?看起来两者都完成了同样的事情并返回相同的jQuery。它们的实现方式不同吗?
n8ghc7c11#
jQuery find方法:find方法用于在匹配的元素集合中搜索与指定选择器匹配的后代元素。它通常在表示元素集合的jQuery对象上调用。语法为$(selector).find(subselector),其中selector是初始元素集合,subselector是后代元素的选择器。范例:
$(selector).find(subselector)
selector
subselector
// Find all <span> elements that are descendants of elements with class "container" $(".container").find("span");
字符串jQuery有两个参数:当你在jQuery函数中使用两个参数(例如$(selector, context))时,你正在创建一个新的jQuery对象,它的元素与第一个参数(selector)相匹配,这些元素是第二个参数中指定的上下文的后代。第二个参数(context)是可选的,它指定了在其中搜索元素的上下文。如果没有提供,则在整个文档中执行搜索。范例:
$(selector, context)
context
// Find all <span> elements that are descendants of elements with class "container" $("span", ".container");
型在这个例子中,$("span", ".container")等价于$(".container").find("span")。它选择所有<span>元素,这些元素是类为“container”的元素的后代。总之,虽然这两种方法都可以用来选择后代元素,但是find方法是为此目的而设计的特定方法,而在jQuery函数中使用两个参数是一种更通用的方法,可以实现相同的结果。它们之间的选择取决于您的编码风格和偏好。当你已经有了一个jQuery对象并想在其中找到后代时,find方法通常是首选的,而当你想在特定的上下文中执行类似的搜索时,使用两个参数可能会很有用。
$("span", ".container")
$(".container").find("span")
<span>
container
1条答案
按热度按时间n8ghc7c11#
jQuery find方法:
find方法用于在匹配的元素集合中搜索与指定选择器匹配的后代元素。它通常在表示元素集合的jQuery对象上调用。语法为
$(selector).find(subselector)
,其中selector
是初始元素集合,subselector
是后代元素的选择器。范例:
字符串
jQuery有两个参数:
当你在jQuery函数中使用两个参数(例如
$(selector, context)
)时,你正在创建一个新的jQuery对象,它的元素与第一个参数(selector
)相匹配,这些元素是第二个参数中指定的上下文的后代。第二个参数(
context
)是可选的,它指定了在其中搜索元素的上下文。如果没有提供,则在整个文档中执行搜索。范例:
型
在这个例子中,
$("span", ".container")
等价于$(".container").find("span")
。它选择所有<span>
元素,这些元素是类为“container
”的元素的后代。总之,虽然这两种方法都可以用来选择后代元素,但是find方法是为此目的而设计的特定方法,而在jQuery函数中使用两个参数是一种更通用的方法,可以实现相同的结果。它们之间的选择取决于您的编码风格和偏好。
当你已经有了一个jQuery对象并想在其中找到后代时,find方法通常是首选的,而当你想在特定的上下文中执行类似的搜索时,使用两个参数可能会很有用。