JQuery: добавить класс, если ссылка имеет целевой пробел?
Эй, ребята, разве это не должно работать?
//Add class if target blank
$('.post .entry a').each(function() {
if ( $(this).attr('target') == '_blank') ) {
$(this).addClass('web');
};
});
что-то не так с этим?
5 ответов
Решение
Пожалуйста, попробуй
//Add class if target blank
$('.post .entry a[target="_blank"]').addClass('web');
У вас есть дополнительный )
, Просто удалите это, и это нормально:)
$('.post .entry a').each(function() {
if ( $(this).attr('target') == '_blank') ) {
---------------------------------------------^
$(this).addClass('web');
};
});
Все в порядке. Но это должно быть внутри документа.
$(document).ready(function(){
$('.post .entry a').each(function() {
if ( $(this).attr('target') == '_blank') ) {
$(this).addClass('web');
};
});
});
Надеюсь это поможет. ура
У вас есть экстра )
в заявлении if. Сними это, и ты будешь в порядке:
$('.post .entry a').each(function() {
if ( $(this).attr('target') == '_blank' ) {
$(this).addClass('web');
};
});
Более короткий способ сделать это будет:
$('.post .entry a[target="_blank"]').each(function() {
$(this).addClass('web');
});
Использует меньше кода тоже.
На самом деле ответ @ariel гласит лучший способ сделать это.
Я нашел успех со следующим:
$('.post .entry a[href="_blank"]').addClass('web');