【问题标题】:Specify which jQuery selector has priority over the others when separating them with commas用逗号分隔时指定哪个 jQuery 选择器优先于其他选择器
【发布时间】:2014-09-06 14:13:16
【问题描述】:

在 jQuery 中,假设我有以下 JavaScript:

$fooBar = $('a').filter('[href*="foo"], [href*="bar"]').first()

还有以下 HTML:

<a href="bar.html">Bar</a>
<a href="foo.html">Foo</a>

然后$fooBar 将返回bar.html 链接。但是,在这种情况下,因为我指定 foo 选择器首先出现,所以我希望返回 foo.html。如何让 jQuery 根据先出现的选择器对结果进行优先级排序,而不是根据它们在 DOM 中的位置返回结果?

或者是唯一真正的方法是一次只使用一个选择器按顺序运行每个查询?

【问题讨论】:

  • 使用 jQuery 获取元素的顺序取决于它们在 HTML 标记中的顺序。

标签: javascript jquery html filter jquery-selectors


【解决方案1】:

使用filter jQuery 会在order the exist in the DOM. 中找到所有匹配的元素。您可以重做代码以首先找到 foo 集,然后添加 bar 集,但您必须实现与本示例类似的内容。

How to preserve order of items added to jQuery matched set?

【讨论】:

  • 谢谢,我想这已经足够了。我想的也差不多。当我找到我想要的选择器时,我要么使用那个方法,要么只使用一个 for 循环并退出它。
猜你喜欢
  • 2013-08-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-24
  • 1970-01-01
  • 2011-03-12
  • 2011-11-01
  • 1970-01-01
  • 2013-03-31
相关资源
最近更新 更多