gpt4 book ai didi

javascript - 如何使用 OR 条件链接选择器(如果 main 为空,则为替代结果集)

转载 作者:数据小太阳 更新时间:2023-10-29 05:30:44 27 4
gpt4 key购买 nike

我现在拥有的:

var result = $('selector1');
if (result.length == 0) result = $('selector2');

但这会破坏链接。

问题是 - 如何使用 JQuery 链接获得相同的结果?

我不能使用 $('selector1, selector2'),因为这总是会为两个选择器选择结果集,而我只需要 selector2 的结果selector1 没有匹配的元素。

最佳答案

这种行为在某些地方被称为“合并”。这是一个通用的 jQuery 插件,可以为您完成此操作(根据反馈进行编辑,请参阅评论)。

// The namespace function
jQuery.coalesce = function(selectors){

var out;

$.each(selectors, function(i, v){
var el = jQuery(v);
if (el.length) {
out = el;
return false;
}
});

return out || jQuery();
};

// The jQuery plugin
jQuery.fn.coalesce = function(){
return jQuery.coalesce(this.selector.split(",")); //a little brittle
};

因此,在一个 #foo 不存在而 adiv 存在的世界中,如果您存在:

jQuery.coalesce(["#foo", "a", "div"])

如果 #foo 不存在,则返回 jQuery("a"),如果 jQuery("#foo") #foo 确实存在。

如果您需要在链的中间使用它,您可以使用 $("#foo, a, div").coalesce(),但它容易受到选择器本身内的命令的影响.

关于javascript - 如何使用 OR 条件链接选择器(如果 main 为空,则为替代结果集),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892666/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com