jquery修改href扩展名onclick

时间:2010-11-02 14:11:48

标签: javascript jquery lightbox modal-dialog

我正在尝试保持我的应用程序正常工作,即使用户没有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
    });
});

如何在调用灯箱之前更简单地更改扩展程序?

1 个答案:

答案 0 :(得分:2)

您可以使用.attr()的功能检查 <{1}}是否已结束

,如下所示:

.js

或者,对$('.modal').attr("href", function(i, href) { return href + (href.slice(-3) == '.js' ? '' : '.js'); }); 上的所有链接执行此操作,如下所示:

ready