Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么和何时应该使用子程序()方法?

为什么和何时应该使用子程序()方法?
EN

Stack Overflow用户
提问于 2014-11-22 08:56:02
回答 2查看 34关注 0票数 0

为什么和何时应该使用子程序()方法?

我想知道为什么我更喜欢使用子()方法,而不是只使用它在选择器中的子对象调用对象。下面是一个简单的例子,第一个是使用子方法()方法,而后者没有:

代码语言:javascript
运行
AI代码解释
复制
$(".hello").children().on("click", function) { // Do something };

$(".hello world").on("click", function) { //Do something };

我最近开始使用JQuery,所以请原谅我这个初学者的问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-22 09:01:31

下面是使用.hello选择任何元素的所有子元素,而不管这些子元素有哪些类。

代码语言:javascript
运行
AI代码解释
复制
$(".hello").children().on("click", function) { // Do something };

有了下面的选择,您将选择所有具有.world类的子元素。

代码语言:javascript
运行
AI代码解释
复制
$(".hello world").on("click", function) { //Do something };

我似乎还记得,您描述的两种方法和使用.find()的两种方法在性能上存在差异--我会尝试挖掘它

编辑:如下所示,使用find()遍历树,而子()只查看初级后代。

票数 1
EN

Stack Overflow用户

发布于 2014-11-22 09:03:26

如jQuery api的网站所述:.children()

“给定一个表示一组DOM元素的jQuery对象,.children()方法允许我们搜索DOM树中这些元素的子元素,并从匹配的元素中构造一个新的jQuery对象。.children()方法不同于.find(),因为.children()只在DOM树下移动一个级别,而.find()可以遍历多个级别来选择后代元素(孙辈等)。也是。还请注意,与大多数jQuery方法一样,.children()不返回文本节点;要获取所有子节点(包括文本和注释节点),请使用.contents()。.children()方法可以选择接受与我们可以传递给$()函数的类型相同的选择器表达式。如果提供了选择器,则将通过测试它们是否匹配来过滤元素。“

.children()运行1级,仅直接子节点,不返回文本节点。在直接选择时,将像.find()函数一样工作,并搜索整个子代元素树。

什么时候和为什么使用它完全取决于你。做最适合你的事情,这个问题的答案将是堆叠溢出的主题,因为它主要是基于意见的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27079967

复制
相关文章

相似问题

为什么和何时应该使用堆栈()和un堆栈()方法?

11

为什么和何时应该使用.sln文件?

72

为什么和何时应该使用NonSerializable属性?

25

为什么和何时我应该使用std::结对

13

为什么和何时应该使用express.Router()?

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档