javascript - 指定用逗号分隔时哪个 jQuery 选择器优先于其他选择器

标签 javascript jquery html filter jquery-selectors

在 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 中的位置返回结果?

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

最佳答案

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

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

关于javascript - 指定用逗号分隔时哪个 jQuery 选择器优先于其他选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25697296/

相关文章:

javascript - 如何在需要时仅提交一个隐藏/显示字段数据 - Laravel

html - 着色部分透明的图像/背景

html - 无法让 CSS 动画在 Shopify 中工作

javascript - JS 测试是否为 10 的倍数

javascript - 通过ajax发送带有字母数字索引名称的数组

javascript - jquery ui datepicker 不适用于动态 html

javascript - 计算两个日期之间的百分比

javascript - Vuejs 作为 HTML 模板引擎

javascript - 如何停止在特定区域触发 focusout 事件

javascript - 加载多个 YouTube 视频 iFrame API