我想检查具有特定href
的div是否也有某个类。我已编码此导航:
<nav>
<div class="nav-wrapper">
<ul class="normal-nav hide-on-med-and-down">
<li><a class="" href="#chi">Chi Siamo</a></li>
<li><a class="" href="#dirigenza">Dirigenza</a></li>
<li><a class="" href="#squadre">Squadre</a></li>
<li><a class="" href="#orariPrezzi">Orari e Prezzi</a></li>
<li><a class="" href="#modulistica">Modulistica</a></li>
<li><a class="" href="#contatti">Contattaci</a></li>
<li><a class="" href="#fotogallery">Fotogallery</a></li>
</ul>
</div>
</nav>
相对于用户向下滚动的位置,active
元素添加了一个类<a>
,以便<a>
看起来像这样:
<a class="active" href="#dirigenza">Dirigenza</a>
我想连续检查normal-nav <ul>
中哪个元素有active
(我的是scrollFire()JQuery插件):
$('body').scrollfire({
// Offsets
offset: 0,
topOffset: 0,
bottomOffset: 0,
onScrollAlways: function(elm, distance_scrolled) {
},
});
如果<a>
有效元素是那个href="#chi"
,href="#dirigenza"
等等,那么就做一些事情。
我该怎么做?
答案 0 :(得分:2)
您可以使用$("a.active")
将当前标记为有效的。
然后,您可以使用$("a.active").attr("href")
获取该活动元素的href值,并在if或switch语句中使用它来管理不同的情况。
var activeHrefValue = $("a.active").attr("href");
if (activeHrefValue == "theValueToBeChecked") {
doSomething();
}
在您的特定情况下,我认为这可能是一个很好的解决方案:
$('body').scrollfire({
// Offsets
offset: 0,
topOffset: 0,
bottomOffset: 0,
onScrollAlways: function(elm, distance_scrolled) {
switch($("a.active").attr("href")){
case "#chi":
doSomething(elm);
break;
case "...":
doSomethingElse(elm);
break;
default:
doDefaultSomething(elm);
}
},
});
根据您的需要,可以用一系列if-else语句替换该开关部件。
答案 1 :(得分:0)
$("a.active[href='#chi']")
将选择所有 a
与active
班,其href
为#chi
。
$("a.active[href='#chi'], a.active[href='#dirigenza']")
将此项用于多个hrefs
$("a.active[href='#chi']").length
将给出匹配元素的数量。
答案 2 :(得分:0)
您可以使用hasClass方法:
$('body').scrollfire({
// Offsets
offset: 0,
topOffset: 0,
bottomOffset: 0,
onScrollAlways: function(elm, distance_scrolled) {
if($(elm).hasClass('testingclass')){
console.log('testingclass');
}
},
});