在a href标记中执行javascript代码
我有一个页面,上面有几个(100多个)条目,如下所示:在a href标记中执行javascript代码,javascript,jquery,Javascript,Jquery,我有一个页面,上面有几个(100多个)条目,如下所示: <a href="javascript:removeFromCart(12302, 2);" class="remove">Remove</a> 有什么想法吗?.trigger(“click”)实际上并不执行用户单击,而是执行任何绑定到“click”事件的代码。您需要改为设置窗口位置: $("a[href^='javascript']:contains('Remove')").each(function() {
<a href="javascript:removeFromCart(12302, 2);" class="remove">Remove</a>
有什么想法吗?.trigger(“click”)
实际上并不执行用户单击,而是执行任何绑定到“click”事件的代码。您需要改为设置窗口位置:
$("a[href^='javascript']:contains('Remove')").each(function() {
window.location.href = $(this).prop("href");
});
.trigger(“click”)
实际上并不执行用户单击,而是执行任何绑定到“click”事件的代码。您需要改为设置窗口位置:
$("a[href^='javascript']:contains('Remove')").each(function() {
window.location.href = $(this).prop("href");
});
您不能在此处使用
。单击()
,因为锚没有事件绑定。您需要手动执行href
属性的内容,使用eval()
可以轻松地执行:
您不能在此处使用
。单击()
,因为锚没有事件绑定。您需要手动执行href
属性的内容,使用eval()
可以轻松地执行:
可以先将javascript函数中的参数移动到数据属性
<a href="#" data-param1="20433" data-param1="2" class="remove">Remove</a>
可以先将javascript函数中的参数移动到数据属性
<a href="#" data-param1="20433" data-param1="2" class="remove">Remove</a>
您可以添加一个新字段并在那里传递参数,如
您可以添加一个新字段并在那里传递参数,如
触发代码的唯一方法就是执行它
$("a[href^='javascript:removeFromCart']").each(function() {
eval($(this).attr('href').substr(11));
});
触发代码的唯一方法就是执行它
$("a[href^='javascript:removeFromCart']").each(function() {
eval($(this).attr('href').substr(11));
});
$('a.remove')。单击()?$('a.remove')可能重复。单击()?可能重复,无需在此处使用
eval
。@AndrewHitaker您建议的解决方案是什么?@AndrewHitaker“需要”-这是个笑话吗?这是一个解决方案,它是有效的。你不应该因为你的个人恩怨而否决完全可用的javascript核心函数。@David:Setwindow.location.href
就像重复提到的那样:imo设置window.location
运行JS比eval
脏得多+1用于有效的解决方案。这里不需要使用eval
。@AndrewWhitaker您建议的解决方案是什么?@AndrewWhitaker“need”-这是个笑话吗?这是一个解决方案,它是有效的。你不应该因为你的个人恩怨而否决完全可用的javascript核心函数。@David:Setwindow.location.href
就像重复提到的那样:imo设置window.location
运行JS比eval
脏得多+1是一个有效的解决方案。因为我们在选择器的href中包含了javascript协议检查,所以我们不需要担心。因为我们在选择器的href中包含了javascript协议检查,所以我们不需要担心。
$("a.remove").each(function(){
var param1 = $(this).data('a');
var param2 = $(this).data('b');
removeFromCart(param1, param2);
});
$("a[href^='javascript:removeFromCart']").each(function() {
eval($(this).attr('href').substr(11));
});