jquery从数组中选择每个元素

时间:2016-03-18 12:15:29

标签: javascript jquery arrays

我不知道如何实现这一目标,而且我一直在寻找方法来做几个小时而没有任何成功。

我们说我有这段代码:

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"从数组中获取每个元素,所以第二个脚本将作为第一个脚本工作吗?

2 个答案:

答案 0 :(得分:2)

Evan Trimboli的答案还可以,但是......在这种情况下,这个选择器sintaxis并不是很好。因为,正如我所知,当jQuery将事件添加到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'); }); }); 时,它将分割一个字符串并循环每个元素(再次)。所以我们得到双循环。

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

= link_to "details", testitemlogs_path(testitem_id: testitem.id), remote: true

MiterLimit

答案 1 :(得分:0)

看起来你正在寻找这个

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

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