Tob*_*bia 4 jquery coalesce selector
我想选择多个按钮并按顺序点击第一个按钮.像COALESCE功能一样的东西.
我试过这个:
$(".selector1, .selector2, .selector3").first().click();
Run Code Online (Sandbox Code Playgroud)
这可以工作,但选择遵循DOM顺序而不是我的选择器查询顺序.有什么建议吗?
jQuery总是返回DOM顺序的元素,所以你需要沿着这些方向做一些事情:
$.each(['.selector1', '.selector2', '.selector3'], function(i, selector) {
var res = $(selector);
if (res.length) {
res.first().click();
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
你可能会把它变成像这样的jQuery扩展:
$.coalesce = function(selectors) {
var match;
var selector = $.each(selectors, function(i, selector) {
var res = $(selector);
if (res.length) {
match = res;
return false;
}
});
return match || $([]);
};
Run Code Online (Sandbox Code Playgroud)
然后打电话
$ .coalesce(['.selector1','.selector2','.selector3']).first().click();