【问题标题】:How do I jquery part of a document?我如何 jquery 文档的一部分?
【发布时间】:2009-05-09 15:44:35
【问题描述】:

我查看了JQuery documentation,阅读了常见问题解答并看到了很多示例。看起来像获取文档中由规则描述的所有元素的集合,您编写代码

$(rule)

其中 rule 是一个字符串,其语法描述为 here。 Document 似乎是一个隐藏的输入参数。我可以对 DOM 的子树做同样的事情吗?如果我有一个 DOM 元素,我可以编写类似的代码

element.$(rule)

?

【问题讨论】:

    标签: jquery dom


    【解决方案1】:
    $(rule, element)
    

    来自文档:

    jQuery(表达式,上下文)

    jQuery 的核心功能 以这个功能为中心。 jQuery 中的一切都是基于 这个,或以某种方式使用它。这 此功能的最基本用途是 传入一个表达式(通常 由 CSS 组成),然后找到 所有匹配的元素。

    默认情况下,如果没有上下文 指定,$() 查找 DOM 元素 在当前 HTML 的上下文中 文档。如果您确实指定了上下文, 例如 DOM 元素或 jQuery 对象,表达式将被匹配 反对该上下文的内容。

    查看允许的 CSS 选择器 表达式的语法。

    【讨论】:

    • 谢谢,Core/jQuery 文档解释了一切。我错过的是 $() 是 jQuery() 的简写。哪里写的?
    • 嗯,docs.jquery.com/Core/$ 重定向到 Core/jQuery,页面上的一些示例使用 $()。
    【解决方案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
    

    或者你可以使用findchildren等函数:

    $('#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);
    

    【讨论】:

      【解决方案3】:

      $(element).find(rule)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-08
        • 1970-01-01
        • 2021-12-29
        • 1970-01-01
        • 1970-01-01
        • 2012-03-30
        • 2011-12-04
        • 1970-01-01
        相关资源
        最近更新 更多