【问题标题】:Jquery Selector OptionsJquery 选择器选项
【发布时间】:2010-02-22 23:46:32
【问题描述】:

这里是第一次发帖,所以请温柔:)

我在整个网络上进行了搜索,但我不确定我是否按照正确的术语进行搜索,也不知道它的名称。但是辅助选项在 jQuery 选择器中的作用是什么?例如:

$('.results table', this.parent().prev())

.results 表上的第二个选项匹配我不确定这实际上是做什么的?例如,它是否类似于$('.results table').parent().prev()。对不起,我刚刚举了这个代码作为例子。

在我刚刚学习 jQuery 时,感谢您的指点。

【问题讨论】:

    标签: jquery jquery-selectors css-selectors


    【解决方案1】:

    第二个参数是一个可选的上下文,您可以提供它以约束选择器仅在提供的上下文中搜索匹配项。例如,假设您正在循环遍历<table><tr> 元素,并且在每个<tr> 元素中您要选择第二个<td> 元素。您可以使用以下

    $('table tr').each(function() {
        $('td:eq(1)', this).doSomething(); // the function context, this, is the `<tr>`
                                           // element in each iteration
    });
    

    selectors documentation真的很不错,值得细读。事实上,整个 jQuery API 文档都很好:)

    【讨论】:

    • jQuery 文档是选择 jQuery 而不是其他 JS 库的主要原因之一
    【解决方案2】:

    这意味着在第二个参数引用的元素“下方”的某个地方寻找选择器。就像:

    $('secondParameterSelector').find('firstParameterSelector') ...
    

    用你的例子,就像

    this.parent().prev().find('.results table')
    

    (假设this.parent().prev()当然是一个jQuery对象)

    【讨论】:

      【解决方案3】:

      第二个参数是上下文。例如,如果您想在单击任何 div 时回显第一个 span 元素的文本:

      $("div").click(function(){
        alert( $("span:first", this).text() );
      });
      

      该示例中的this 指的是曾经点击过的div。这是我们的背景。这个“上下文”可以是 dom 元素、文档或 jQuery 对象。

      延伸阅读:http://api.jquery.com/jQuery/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-27
        • 1970-01-01
        • 2012-10-31
        • 1970-01-01
        • 2015-08-26
        • 2017-07-06
        • 1970-01-01
        相关资源
        最近更新 更多