结合使用时,find()和children()之间的jQuery差异:first

发布时间:2020-09-15 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了结合使用时,find()和children()之间的jQuery差异:first编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在回答以下jQuery问题 Need help in Optimizing the below jquery code的过程中,我偶然发现了另一个关于.find()和.children()的问题.

问题是,给定四个带有id state,city,branch,branchAddress的选择框,除去每个选择框的第一个选项.

已经发布了几个答案.其中包括:

> $(‘#state,#city,#branch,#branchAddress’).children(‘option:not(:first)’).remove();
> $(‘#state,#branchAddress’).children(‘option:not(:first-child)’).remove();
> $(‘#state,#branchAddress’).find(‘option:not(:first)’).remove();

解决方案1似乎不起作用(删除所有选项,除了第一个选择框的第一个选项)根据此js小提琴(http://jsfiddle.net/QkNRf/1/)

解决方案2和3似乎完美无缺.

如果有人可以指出我错过的内容,或者向我解释为什么解决方案3在解决方案1没有的情况下工作,我会很高兴.

解决方法

所有其他答案都是正确的,但我认为文档中的重要部分解释了为什么示例1失败以及为什么数字3工作的原因是.children()有效地过滤了前一个选择器的结果,.find()将执行 selector-context搜索,所以(我假设)它会在所有4个上下文中执行’option:not(:first)’搜索并整理结果,而.children()将首先整理结果,然后使用’option:not(:first)进行过滤)’有效地除去了第一个……

在这种情况下,搜索的深度无关紧要.

总结

以上是编程之家为你收集整理的结合使用时,find()和children()之间的jQuery差异:first全部内容,希望文章能够帮你解决结合使用时,find()和children()之间的jQuery差异:first所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478
编程之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!