2

我希望在页面上运行一个脚本,将每条斜体文本放入一个数组中。

据我了解 jQuery.find()你不能通过属性获取项目,对吗?

4

1 回答 1

4
  • 您应该熟悉该filter()方法,它是一个很棒的 jQuery 功能。您可以定义一个过滤器函数,您可以使用它来将 jQuery 集合中的元素减少到适合您需要的元素。

  • 您还需要使用.map()which 是另一种超级方便的方法,可以帮助您从您编写的函数定义的 jQuery 集合中创建列表。使用.get()你可以从这个 jQuery 列表对象创建一个普通的 Javascript 数组。

这是一个基本版本,它将收集已font-style: italic应用于它们的元素的文本内容:

var arr = 
    $('*') /*look at all elements*/
        .filter(function () { /*filter these elements*/
            return $(this).css('font-style') == 'italic'; /*only keep the italic*/
        })
        .map(function () { /*create a new object using these elements*/
            return $(this).text(); /*store the text of each selected element*/
        })
        .get(); /*convert this to an array*/

jsFiddle 演示

于 2011-12-28T19:47:38.270 回答