使用jquery更改某个元素的href属性

时间:2017-01-01 13:22:43

标签: jquery

我有这个脚本

jQuery(document).ready(function() {
    jQuery(".link").click(function() {
        jQuery('html, body').animate({
            scrollTop: jQuery(".textarea").offset().top-220
        }, 700, function(){jQuery( ".textarea" ).focus();});
    });
});

我希望它在点击

后完全正常工作
.link

但点击某个页面上的链接(.page-1是此页面的正文类)

.page-1 .link

我不希望它为滚动和焦点设置动画,而我只想更改

的href属性
.page-1 .link

有可能吗?

1 个答案:

答案 0 :(得分:0)

通过对所有.link使用一个单击处理程序或对不同的页面类使用单独的处理程序,有几种方法可以执行此操作

使用一个并检查事件处理程序中的body类:

jQuery(".link").click(function() {
   if(jQuery('body').hasClass('page-1')){
      jQuery(this).attr('href', 'new-href-value');
   }else{
      // do the animation
   }
});

或者在创建事件监听器之前检查页面类:

if(jQuery('body').hasClass('page-1')){

   jQuery(".link").click(function() {   
      jQuery(this).attr('href', 'new-href-value');
   });

}else{
   jQuery(".link").click(function() {   
      // do animation
   });
}

或使用不同的选择器:

   jQuery(".page-1 .link").click(function() {   
      jQuery(this).attr('href', 'new-href-value');
   });

   jQuery(".link").not('.page-1 .link').click(function() {   
      // do animation
   });