Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在a href标记中执行javascript代码_Javascript_Jquery - Fatal编程技术网

在a href标记中执行javascript代码

在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() {

我有一个页面,上面有几个(100多个)条目,如下所示:

<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:Set
window.location.href
就像重复提到的那样:imo设置
window.location
运行JS比
eval
脏得多+1用于有效的解决方案。这里不需要使用
eval
。@AndrewWhitaker您建议的解决方案是什么?@AndrewWhitaker“need”-这是个笑话吗?这是一个解决方案,它是有效的。你不应该因为你的个人恩怨而否决完全可用的javascript核心函数。@David:Set
window.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));
});