繁体   English   中英

jquery从数组中选择每个元素

[英]jquery choose every element from array

我不知道如何实现它,我几个小时以来一直在寻找方法来做到这一点,但没有任何成功。

假设我有这个代码:

var vara="bing.com"; 
var varb="google.com"; 
jQuery('a[href^="http://'+vara+'"],a[href^="https://'+vara+'"]').click(function() {alert('y'); });
jQuery('a[href^="http://'+varb+'"],a[href^="https://'+varb+'"]').click(function() {alert('y'); });

我需要在这里实现的是使用一个调用来为每个数组变量设置 .click 函数:

var varall=["bing.com","google.com"];
jQuery('a[href^="http://'+varall+'"],a[href^="https://'+varall+'"]').click(function() {alert('y'); });

但这不起作用。 如何使变量“varall”从数组中获取每个元素,以便第二个脚本可以作为第一个脚本工作?

Evan Trimboli 的回答是好的,但是......在这种情况下,这个选择器 sintaxis 不是很好。 因为,据我所知,当 jQuery 将事件添加到<a>它会拆分一个字符串并循环每个元素(再次)。 所以我们得到了双重循环。

我认为最好的选择是做这样的事情:

var varall=["bing.com","google.com"];

varall.forEach(function(item, i, arr) {
    $(document).on('click', 'a[href^="http://' + item + '"], a[href^="https://' + item + '"]', function() {
        alert('y');
    });
});

https://jsfiddle.net/Lfjy2Lxu/

看起来你想要这样做

var varall=["bing.com","google.com"];

$.each(varall, function(index, value){
    jQuery('a[href^="http://'+value+'"],a[href^="https://'+value+'"]').click(function() {alert('y'); });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM