我正在尝试查看锚链接位置是否位于其类为“tab”的列表中:
<ul class="etabs">
<li class="tab"><a href="#tab1" alt="">Tab 1</a></li>
<li class="tab"><a href="#tab2" alt="">Tab 2</a></li>
<li class="tab"><a href="#tab3" alt="">Tab 3</a></li>
</ul>
现在,假设我直接访问此页面:
http://www.example.com/page.html#tab2
我有:
if (document.location.href.indexOf('#') > -1) {
if ($(window.location.hash).parent('li').hasClass('tab')) { // something wrong here
alert('its a tab');
} else {
alert('not tab');
}
}
我一直在“不是标签”。我的代码出了什么问题?
答案 0 :(得分:0)
当您访问http://www.example.com/page.html#tab2时,window.location.hash将为#tab2,这意味着$(window.location.hash)将查找 id 的元素TAB2。
所以将id添加到你的标签:
<a id="tab2" href="#tab2"
答案 1 :(得分:0)
尝试此选择具有属性href和#tab2值的标签;
if($('a[href="#tab2"]').parent('li').hasClass('tab')){
}
答案 2 :(得分:0)
如果你正在使用jquery
,那么为所有锚链接添加一个类(例如:“link”)。然后以下代码将适合你
$("a.link").each(function(){
if($(this).parent("li").hasClass("tab")){
alert("is a tab")
}else{
alert("not a tab");
}
})