Найдите все ссылки изображения и добавьте класс к нему

Я имею (приблизительно год назад) играемый вокруг с Ch и нашел, что он был довольно хорош.

5
задан Crescent Fresh 13 November 2009 в 09:43
поделиться

3 ответа

Ваш первый способ нацелился только на png и отлично работал в FF 3.5, похоже, ваш обновленный способ тоже работает.

$('<a href="foo.png">foo.png</a> <a href="foo.jpg">foo.jpg</a> <a href="foo.gif">foo.gif</a>').appendTo('body')

$('a[href]').filter(function() {
    return /(jpg|gif|png)$/.test( $(this).attr('href'))
}).addClass('image-link')

alert( $('.image-link').length )

Вы уверены, что делаете это на готовой DOM, и что вы ' повторный таргетинг на нужный материал, без опечаток?

$('<a href="foo.png">foo.png</a> <a href="foo.jpg">foo.jpg</a> <a href="foo.gif">foo.gif</a>').appendTo('body')


$('a[href*=".png"]').addClass('image-link');
$('a[href*=".jpg"]').addClass('image-link');
$('a[href*=".gif"]').addClass('image-link');

alert( $('.image-link').length )

^ это также предупредило меня о 3.

Обновлено: более лаконичный селектор был бы ..

$('a[href*=".png"], a[href*=".gif"], a[href*=".jpg"]')
6
ответ дан 14 December 2019 в 04:41
поделиться

Попробуйте что-нибудь вроде этого (обратите внимание на одинарные кавычки вокруг .png ):

$("a[href*='.png']").addClass("image-link");
2
ответ дан 14 December 2019 в 04:41
поделиться

Попробуйте следующее:

var aFileExts = new Array("png", "jpg", "fig");
for(aIndex in aFileExts) {
    aFileExt = aFileExts[aIndex];
    $("a[href$='.".aFileExt."']").addClass("image-link");
}

Надеюсь, это поможет.

0
ответ дан 14 December 2019 в 04:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: