Javascript 如何将已单击链接的类附加到另一个锚标记的href结尾?
我正在开发一个利用同位素过滤器和哈希历史的网站。Javascript 如何将已单击链接的类附加到另一个锚标记的href结尾?,javascript,jquery,class,Javascript,Jquery,Class,我正在开发一个利用同位素过滤器和哈希历史的网站。 但是,为了使我的过滤器正常工作,我需要在我的缩略图永久对齐后添加#filter=.print“a.perma”。“.print”是正在单击的过滤器的类“选项集a”。在这种情况下,打印过滤器。 我对jQuery不太在行,如有任何帮助,将不胜感激。 以下是我一直在处理的代码: var myClass; jQuery("option-set a").click(function() { myClass = jQuery(this).attr(
但是,为了使我的过滤器正常工作,我需要在我的缩略图永久对齐后添加
#filter=.print
“a.perma”。“.print”
是正在单击的过滤器的类“选项集a”
。在这种情况下,打印过滤器。我对jQuery不太在行,如有任何帮助,将不胜感激。
以下是我一直在处理的代码:
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 + myClass);
});
这是工作代码。删除所有以前的过滤器。即使在转到另一个页面并返回后仍保持永久链接值。使用
localStorage
if(typeof(Storage)!=="undefined") {
var oldClass = localStorage.getItem("permalink");
if(oldClass != null && oldClass != "") {
jQuery("a.perma").each(function() {
var _href = jQuery(this).attr("href");
_href = _href.split("#")[0];
jQuery(this).attr("href", _href + "#filter=." + oldClass);
});
}
}
jQuery("option-set a").click(function() {
myClass = jQuery(this).attr("class");
jQuery("a.perma").each(function() {
var _href = jQuery(this).attr("href");
_href = _href.split("#")[0];
jQuery(this).attr("href", _href + "#filter=." + myClass);
if(typeof(Storage)!=="undefined") {
localStorage.setItem("permalink", myClass);
}
});
});
您可以尝试这样做,使用with函数来确定和设置新值,以避免需要单独迭代和get/set
jQuery("option-set a").click(function() {
var myClass = this.className; // same as $(this).attr('class');
jQuery('a.perma').attr('href', function(i, oldHref) {
return oldHref + '.' + myClass;
});
});
根据原始
href
属性的外观,您可能需要在字符串中添加更多或更少的内容;我在上面假设已经包含了#filter=
部分。您可能还想检查它是否已经存在于现有的href
中,因此它不会被添加多次。为什么单击?为什么你不能立即将#filter=.print
附加到你所有的拇指上?@roXon问题的标题是“关于点击的链接”,所以我假设他们只希望在点击链接时发生。@AnthonyGrist是的,但他也说他只有一个类,.print
,所以现在我再问一次。为什么点击:)@roXon正如我之前所说的:因为他们只希望点击链接时发生——类的数量与此完全无关。无论他们有一个或一百万个类,如果他们不想在点击链接之前发生这种情况,他们需要一个点击事件处理程序。另外,作为一个猜测,我想说这个问题的措辞很糟糕,print
只是许多类的一个例子。这是有道理的。我只是“惊叹”我们怎么不能从医生那里听到声音。这两个答案都奏效了。谢谢你的帮助。我现在遇到的问题是,每次单击都会将类分配到永久链接的末尾,因此如果我单击打印然后单击web,那么永久链接的url将显示为:/#filter=.print#filter=.web#filter=.photography仍然有效,然而,如果为了整洁起见,它只显示最后一个,那就太好了。非常感谢你的帮助!如果不是太多的要求,你认为你能帮我做最后一件事吗?:一旦点击缩略图并加载下一页,我需要缩略图来保持所选过滤器的当前永久链接。任何想法都将不胜感激。我就是想不出来。我真的很感激你的帮助!!您的意思是,当您返回页面时?为此,您需要使用localStorage
。否。。用于单击缩略图并加载工作页面时。我需要重复这个过程。