簡體   English   中英

jQuery修改href擴展名onclick

[英]jquery modify href extension onclick

我正在嘗試即使用戶沒有js也能保持我的應用程序正常運行,我注意到我的燈箱無法在舊瀏覽器上使用ajax優勢,因此嘗試對其進行修復,但不確定如何獲取圍繞這個。

我有一個班級的鏈接

<a href="/blah/1234", class="modal">Blah</a>

但我需要告訴燈箱是否可以使用href + .js擴展名。 這樣,如果用戶沒有js或因任何原因而中斷,它會將它們發送到回退頁面並且行為正常。

    $('.modal').lightbox({
            'width'       : 465,
            'height'      : 375,
            'autoresize'  : false,
            'modal'       : true
    });

燈箱沒有href屬性,我可以用它自己的參數來改變它,所以我試着在手邊做,但有點太亂了。

這種方法效果很差,但是每次單擊一次時都會中斷,因為它每次都添加.js。

$('.modal').bind('click', function() {
    $('.modal').attr("href", $('.modal').attr("href") + '.js');
    $('.modal').lightbox({
            'width'       : 465,
            'height'      : 375,
            'autoresize'  : false,
            'modal'       : true
    });
});

如何在調用燈箱之前更簡單地更改擴展名?

您可以將函數與.attr()一起使用,以檢查它是否已經.js結尾,如下所示:

$('.modal').attr("href", function(i, href) {
  return href + (href.slice(-3) == '.js' ? '' : '.js');
});

或者,對ready上的所有鏈接進行操作,如下所示:

$('.modal').attr('href', function(i, href) {
  return href + '.js';
}).lightbox({
  'width'       : 465,
  'height'      : 375,
  'autoresize'  : false,
  'modal'       : true
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM