我不知道如何实现这一目标,而且我一直在寻找方法来做几个小时而没有任何成功。
我们说我有这段代码:
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"从数组中获取每个元素,所以第二个脚本将作为第一个脚本工作吗?
答案 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
答案 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'); });
});