我看了JQuery documentation,阅读了常见问题解答并看了很多例子。看起来要获取规则描述的文档中的所有元素集,您需要编码
$(rule)
其中rule是一个字符串,其语法描述为here。文档似乎是一个隐藏的输入参数。我可以用DOM的子树做同样的事情吗?如果我有一个DOM元素,我可以编写类似
的代码element.$(rule)
答案 0 :(得分:4)
$(rule, element)
来自文档:
jQuery(表达式,上下文)
jQuery的核心功能 围绕这个功能。 jQuery中的所有内容都基于 这个,或以某种方式使用它。该 这个功能最基本的用途是 传递一个表达式(通常 由CSS组成,然后找到 所有匹配元素。
默认情况下,如果没有上下文 指定,$()查找DOM元素 在当前HTML的上下文中 文献。如果确实指定了上下文, 例如DOM元素或jQuery 对象,表达式将匹配 反对该背景的内容。
请参阅选择器以获取允许的CSS 表达式的语法。
答案 1 :(得分:2)
有几种方法可以做到这一点。如果你有这样的文件:
<html>
<body>
<p>Test</p>
<div id="box">
<p>Hi There</p>
<div id="subbox">
<p>Bye</p>
</div>
</div>
<p>Boo</p>
</body>
</html>
你只想要框内的段落,你可以specify a context
搜索:
$('p','#box'); // only find paragraphs inside of #box
$('#box').find('p'); // will return both the paragraphs inside of #box
$('#box').children('p'); // will only return the immediate children
我没有尽可能长的选择器,而是通常希望尽可能地分离搜索词,因为a)我认为以这种方式思考它更有意义,b)它有助于jQuery解析,所以它稍快一些。因此,每当我只想搜索文档的一部分时,我有时会使用上下文和附加函数的组合:
$(myelement, mygreatercontext).find(myrefinedsearch);
答案 2 :(得分:0)
$(element).find(rule)