【问题标题】:Child selector deprecated [duplicate]不推荐使用子选择器[重复]
【发布时间】:2012-02-16 00:58:19
【问题描述】:

可能重复:
What is the new proper way to use a child selector with a context node in jQuery?

来自 jQuery 文档:

注意:$("> elem", context) 选择器将在未来的版本中被弃用。因此不鼓励使用它来代替使用替代选择器。

http://api.jquery.com/child-selector/

alternative selector 是什么?

【问题讨论】:

    标签: jquery jquery-selectors


    【解决方案1】:
    $(context).children('elem')
    

    $("> elem", context) 也已弃用,但 $(context+" >elem")$("parent>child") 不是

    【讨论】:

      【解决方案2】:
      $('parent').children('childrenelements')
      

      是我的猜测:)

      但正如另一位发帖人所说,它只在上下文中直接搜索孩子。

      【讨论】:

      • 这就是我想要的,因此直接子选择器>
      【解决方案3】:

      例如,如果上下文是一个元素,您将使用该元素的选择器而不是将其指定为上下文。所以而不是:

      var main = $('#Main');
      var mainDivs = $('> div', main);
      

      你可以使用:

      var mainDivs = $('#Main > div');
      

      【讨论】:

      • 除了我正在使用 jQuery 对象作为“父”/“上下文”这一事实之外,这将起作用。
      【解决方案4】:

      我刚刚遇到了同样的问题,我正处于一个函数的中间,以上都没有真正帮助我。 .find 似乎可以解决问题。这是一个有用的示例:

      $('selectedcontext').first(function(){
          // perform operations on selectedcontext for ex:
          if($(this).hasClass('someclass')){
              $(this).find('textarea').val();
          }
      });
      

      【讨论】:

      • 这与$("> elem", context) 不同。因为您的代码会检查元素的所有后代,而不仅仅是直接后代。
      猜你喜欢
      • 2012-11-14
      • 2015-07-05
      • 1970-01-01
      • 1970-01-01
      • 2016-10-10
      • 2021-10-04
      • 2015-10-28
      • 2020-05-26
      相关资源
      最近更新 更多