只有一个类名附加到锚标记的href结尾?

时间:2013-01-07 15:59:59

标签: javascript jquery class anchor

var myClass;

jQuery(".option-set a").click(function() {
myClass = jQuery(this).attr("class");

jQuery("a.perma").each(function() {
    var _href = jQuery(this).attr("href"); 
    jQuery(this).attr("href", _href + "#filter=." + myClass);
});
});

我正在使用此代码将过滤器的类名追加到每个缩略图here

的固定链接的末尾

我现在遇到的问题是,每次点击时类都会被分配到永久链接的末尾,所以如果我点击打印然后网页然后摄影永久链接的网址将显示为:/# filter = .print #filter = .web#filter = .photography仍然可以使用,但如果为了整洁它只显示最后一个将是很好的。

一旦点击缩略图并加载下一页,我需要缩略图来保持所选过滤器的当前永久链接。任何想法,将不胜感激。我似乎无法弄清楚这一点。我真的很感激帮助!

2 个答案:

答案 0 :(得分:1)

只需拨打一次,而不是每次点击......

jQuery(document).ready(function() {
    myClass = jQuery('.option-set a').attr("class");

    jQuery("a.perma").each(function() {
        var _href = jQuery(this).attr("href"); 
        jQuery(this).attr("href", _href + "#filter=." + myClass);
    });

    jQuery(".option-set a").click(function() {...});
});

答案 1 :(得分:0)

此修改应检查当前类过滤器是否不存在。

jQuery("a.perma").each(function() {
  var _href = jQuery(this).attr("href"),
      newHref = _href.indexOf(myClass) === -1 ? _href + "#filter=." + myClass : _href;
    jQuery(this).attr("href", newHref);
  });
});

要在下一页加载时维护过滤的缩略图网址,您需要使用服务器并解析它传递的参数,或使用Web storage保存当前过滤的路径并相应地设置缩略图hrefs文档加载。