2013-08-16 2 views
0

Я проверяю путь к изображению, путь к нему или какой-либо другой путь. Если это изображение, то замените конкретное значение href на значение # Но значение # влияет на все ссылки. Как я могу заменить ссылку на изображение, чтобы #Изменить ссылку изображения на «#» с помощью jQuery

jQuery(document).ready(function($) { 
    $("a").each(function(i, el) { 
     var href_value = el.href; 
     if (/\.(jpg|png|gif)$/.test(href_value)) { 
     jQuery('a').prop('href', '#'); 
     } 
    }); 
}); 

Вот

FIDDLE

Любое предложение было бы здорово.

+1

'JQuery (эл) .prop ('HREF', '#');' вместо 'JQuery ('а ') .prop (' href ',' # '); ' – davidkonrad

ответ

2

использование это

jQuery(this).prop('href', '#'); 

или

jQuery(el).prop('href', '#'); 
+0

Звучит великолепно !!! Он работает как шарм –

1

Попробуйте с this как этот

jQuery(document).ready(function($) { 
     $("a").each(function() { 
      var href_value = $(this).attr('href'); 
      if (/\.(jpg|png|gif)$/.test(href_value)) { 
       jQuery(this).prop('href', '#'); 
      } 
     }); 
    }); 
+0

+1 Спасибо за ваш ответ. –

1

Причина все ссылки получить их HREF установлен на # является то, что вы используете JQuery ('a'). prop ('href', '#'); когда вы найдете ссылку на изображение. jQuery ('a') находит все теги на всей странице.

Попробуйте вместо этого использовать переменную el. Что-то вроде:

if (/\.(jpg|png|gif)$/.test(href_value)) { 
    jQuery(el).prop('href', '#'); 
} 
+0

+1 Спасибо за ваш ответ. –