![](/img/trans.png)
[英]How to execute javascript function on href tags through URL in Laravel
[英]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")
實際上並不執行用戶單擊,而是綁定到“ 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));
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.