在a href标记中执行javascript代码
Execute javascript code in a href tags
我有一个页面,上面有几个(100多个)条目,如下所示:
<a href="javascript:removeFromCart(12302, 2);" class="remove">Remove</a>
现在我正在寻找一个可以在控制台中运行的jQuery片段,它可以帮助我"点击"所有这些"链接",并使用相应的参数执行javascript函数removeCart()。
这不起作用:
$("a[href^='javascript']:contains('Remove')").click()
有什么想法吗?
此处不能使用.click()
,因为锚点没有事件绑定。您需要手动执行href
属性的内容,这可以使用eval()
:轻松完成
$('.remove').each(function() {
eval(this.href);
});
您可以添加一个新字段并在那里传递参数,如<a href="#" data-a="12302" data-b="2" class="remove">Remove</a>
$("a.remove").each(function(){
var param1 = $(this).data('a');
var param2 = $(this).data('b');
removeFromCart(param1, param2);
});
.trigger("click")
实际上并不执行用户单击,而是执行绑定到"单击"事件的任何代码。您需要设置窗口位置:
$("a[href^='javascript']:contains('Remove')").each(function() {
window.location.href = $(this).prop("href");
});
$('.remove').trigger('click',function(){
// place your code
});
您可以先将javascript函数中的参数移动到数据属性
<a href="#" data-param1="20433" data-param1="2" class="remove">Remove</a>
然后使用类选择器。
$("a.remove").each(function() {
var param1 = $(this).attr('data-param1');
var param2 = $(this).attr('data-param2');
removeFromCart(param1, param2);
});
好吧,触发代码的唯一方法实际上是执行它
$("a[href^='javascript:removeFromCart']").each(function() {
eval($(this).attr('href').substr(11));
});
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 在Safari执行javascript之前对其进行修改
- 如何在执行此特定onclick事件时执行JavaScript函数
- 如何在从浏览缓存加载页面时执行javascript
- 使用Rhino和ASE执行Javascript的区别
- 如何在加载完整页面后严格执行javascript代码
- 在动态加载的对话框中执行Javascript
- 在Sinatra中执行Javascript
- 通过AJAX加载页面并执行javascript和CSS
- 适用于多种浏览器的Selenium-需要能够执行javascript的webDriver
- 如何在seleniumwebdriver中执行javascript提示并等待接受输入
- 在window.open()生成的窗口中执行JavaScript
- AJAX成功回调-执行javascript时出现问题
- 通过指令在控制器中执行javascript函数
- 从React Native Android原生地执行JavaScript代码
- iframe未执行Javascript方法(PHP)
- 执行JavaScript代码,使用selenium webdriver或WatiN从控制台获取日志
- 通过web驱动程序异步执行Javascript
- 如何在长时间执行JavaScript期间显示微调器
- 点击困难时执行javascript函数