我正在尝试获取window.hash值并尝试在单击的元素上添加它可能是类或id。
示例:
www.google.com/#navid=12100138+4294957236 **
第1步。按照上述网址" navid"我存储在变量中。
var a = location.hash;
第2步。即时删除"#"并仅存储值( navid = 12100138 + 4294957236 )
$("#search-refine-bar").click(function(e){
hashValue = location.hash;
if (hashValue && $.trim(hashValue).length > 0) {
$(this).attr("class", hashValue.substring(1)); // here im trying to add id /class from the has value
window.location.hash = hashValue;
//$(this).removeAttr("id");
}
});
第3步:我得到的值,即" navid = 12100138 + 4294957236" 必须在点击的元素中添加应该是id / class。
例如:如果我点击“' p'标记哈希是一个id / class。
感谢您的帮助:-)
答案 0 :(得分:2)
$(this).attr("class",value)
将替换所有现有的类。
您可以改为使用addClass()
。
$("#search-refine-bar").click(function(e){
hashValue = location.hash;
if (hashValue && $.trim(hashValue).length > 1) { // it shouldn't be empty after removing #
$(this).addClass(hashValue.substring(1)); // or $(this).attr("id",hashValue.substring(1))
window.location.hash = hashValue;
}
});
旁注:如果你要在多个元素上应用处理程序,那么使用类会更安全,否则你最终会得到多个具有相同id
的元素,这是无效的