获取window.hash值并将其添加到属性类或id

时间:2014-09-12 06:35:30

标签: javascript jquery hash

我正在尝试获取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。

感谢您的帮助:-)

1 个答案:

答案 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的元素,这是无效的