2

由于某种原因,这种方式a[href$=.jpg]被定义它在新的jquery 1.9.1中不起作用有没有办法重写它?

 $(document).ready(function() {
     $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({

            'titlePosition'     : 'outside',

            'overlayColor'      : '#000',

            'overlayOpacity'    : 0.9

        });
});
4

2 回答 2

4

您可能缺少引号。

尝试使用此选择器:

$("a[href$='.jpg'],a[href$='.png'],a[href$='.gif']")

根据文档以 selector 结尾的属性可以将带引号的字符串作为值,也可以将不带引号的单个单词作为值。该.字符是非单词字符,因此在这种情况下需要引号。

但最好的做法是保持代码的一致性,因此建议始终使用引号(有时没有引号不起作用,但它始终与引号一起使用。如果您一直使用引号并保持代码一致,以后你会遇到更少的问题)。

于 2013-04-14T04:28:41.190 回答
1

您应该引用属性值:

$("a[href$='.jpg'],a[href$='.png'],a[href$='.gif']")
于 2013-04-14T04:17:46.063 回答