Javascript 过滤方法jQuery

Javascript 过滤方法jQuery,javascript,jquery,jquery-plugins,jquery-events,Javascript,Jquery,Jquery Plugins,Jquery Events,请用下面的代码帮助我。我不明白。我必须在我的项目中使用这样的代码片段 $('strong',this)$('strong',this)是jQuery选择器,采用$(目标,上下文)格式 根据您的代码: 此指的是li,$('strong',li)正在搜索标记中的 该声明也可以写成: $(this).查找('strong')并从jQuery库代码中看到: $(目标,上下文)格式内部实现 $(上下文)。查找(目标)进程 代码基本上是使用jQuery$('li')获取li元素的列表(这将获取页面上的所有.

请用下面的代码帮助我。我不明白。我必须在我的项目中使用这样的代码片段

$('strong',this)
$('strong',this)
是jQuery选择器,采用
$(目标,上下文)
格式

根据您的代码:

指的是
li
$('strong',li)
正在搜索
标记中的

该声明也可以写成:

$(this).查找('strong')
并从jQuery库代码中看到:

$(目标,上下文)
格式内部实现

$(上下文)。查找(目标)
进程


代码基本上是使用jQuery
$('li')
获取li元素的列表(这将获取页面上的所有
  • ..
  • 标记) 然后,它使用
    .filter
    函数减少该集合,
    filter
    将函数作为参数,对列表中的每个元素调用该函数,如果该函数返回true,则从filter中返回元素,如果该函数返回false,则忽略该项

    在此上下文中,函数调用
    $('strong',this).length==1
    ,其中
    this
    是过滤器当前检查的li标记,如其他答案中所述,它只是检查返回当前li中的
    标记列表。
    标记。如果当前li中没有强元素,则长度为0,因此函数返回
    false
    ,这意味着过滤器不会返回它生成的列表中的元素,然后移动到下一个li

    这意味着代码的第一部分只是生成一个包含强标记的li的列表,然后用
    css
    函数链接,该函数将所有这些标记都涂成红色


    希望有帮助。

    这相当于
    $(this)。查找('strong')
    。阅读:非常感谢您的支持。这真是一个很好的答案:-)
    <ul>
       <li><strong>list</strong> item 1 -
          one strong tag
       </li>
       <li><strong>list</strong> item <strong>2</strong> -
          two <span>strong tags</span>
       </li>
       <li>list item 3</li>
       <li>list item 4</li>
       <li>list item 5</li>
       <li>list item 6</li>
    </ul>
    
    $('li').filter(function(index) {
      return $('strong', this).length == 1;
    }).css('background-color', 'red');