是否可以使用jQuery混合多个选择器和filter?

我知道有可能使用jQuery 将Multiple Selector与Multiple Attribute Selector混合使用,实际上,我使用它。 例如,这很好用:

$('input[type="checkbox"][name^="selected"]:checked', theForm).length 

在我的例子中,“theForm”是一个包含“#form1”的字符串,我用它来引用具有属性id =“form1”的表单。

那就是说,问题是:是否有可能将上述内容与jQueryfilter混合使用? 这是一个代码示例:

 var myVar = $('input[name^="modcc_"]', myForm).filter(https://stackoverflow.com/questions/8374672/is-it-possible-to-mix-multiple-selector-and-filter-using-jquery/...) 

我尝试使用这个,我似乎没有在myVar中获取元素,但如果我只是这样删除“myForm”

 var myVar = $('input[name^="modcc_"]').filter(https://stackoverflow.com/questions/8374672/is-it-possible-to-mix-multiple-selector-and-filter-using-jquery/...) 

它有效https://stackoverflow.com/questions/8374672/is-it-possible-to-mix-multiple-selector-and-filter-using-jquery/…为什么? 难道我做错了什么? 我肯定知道“myForm”变量被正确“填充”(它是一个包含“#formMod”的字符串,与我的表单的id属性一致)并且我确信输入在该表单内部并且它是唯一具有该ID的内容。

谢谢您帮忙!

PS这个问题来自我之前的一篇评论中对此问题的接受答案的评论 ,但没有得到答复。 我认为它无论如何都应该成为一个问题,而不是一个简单的评论所以https://stackoverflow.com/questions/8374672/is-it-possible-to-mix-multiple-selector-and-filter-using-jquery/…https://stackoverflow.com/questions/8374672/is-it-possible-to-mix-multiple-selector-and-filter-using-jquery/…在这里! 希望得到答案https://stackoverflow.com/questions/8374672/is-it-possible-to-mix-multiple-selector-and-filter-using-jquery/…https://stackoverflow.com/questions/8374672/is-it-possible-to-mix-multiple-selector-and-filter-using-jquery/…

-Edit如问,我在这里放置HTML代码表单:

 
412 myName . % [ Annnulla ]

问题是您使用的是无效标记。

您不能将

元素作为

元素的直接子元素。

您的HTML将根据浏览器以各种方式进行返工,并且

元素及其内容可能会从form删除,以便

的子元素。

当我在Chrome中添加标记时,就会呈现以下内容:

   
412 myName . % [ Annnulla ]

请注意,

元素现在为空。

这就是为什么你能够找到执行文档范围搜索的元素,而不是从表单本身的上下文中找到。

所以它与.filter()无关,而是与你首先没有选择任何元素的事实有关。

你确定你没有错误地使用myForm代替theForm吗?

话虽这么说,你用$(foo,bar)选择器语法做的是在bar上下文中选择foo元素。 如果将myForm设置为上下文不会产生结果(在没有它的情况下进行选择时),这通常意味着您要么选择了错误的上下文,要么在给定的上下文中没有任何元素与您的选择器匹配。

这里有更多关于它的阅读 。