2015-12-18 109 views
1

我想檢查具有特定href的div是否也具有某個類。我編寫這個導航:如何檢查具有href =「東西」的div是否具有Jquery的某個類

<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> 

我倒要在正常-NAV <ul>連續哪個元素檢查具有類active(我scrollFire()jQuery插件):

$('body').scrollfire({ 
    // Offsets 
    offset: 0, 
    topOffset: 0, 
    bottomOffset: 0, 
    onScrollAlways: function(elm, distance_scrolled) { 
    }, 
}); 

並做一些東西,如果<a>有源元件是href="#chi",href="#dirigenza"等。

我該怎麼做?

+1

這將幫助你http://stackoverflow.com/questions/11772924/get-url-path-and-add-class-active-on-li?answertab=active#tab-top –

+0

嘗試使用['' hasClass'](https://api.jquery.com/hasclass/)函數 – musefan

回答

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語句來代替。

+0

偉大的作品!謝謝LucioB。不幸的是我不能給你聲望! – FilippoLcr

0
$("a.active[href='#chi']") 

會選擇所有aactive類,其href#chi

$("a.active[href='#chi'], a.active[href='#dirigenza']") 

使用這一個多hrefs

$("a.active[href='#chi']").length 

將給匹配元素的數量。

+0

好,但我認爲盧西奧的答案更完整。無論如何,謝謝 – FilippoLcr

0

您可以使用hasClass方法:

$('body').scrollfire({ 
    // Offsets 
    offset: 0, 
    topOffset: 0, 
    bottomOffset: 0, 
    onScrollAlways: function(elm, distance_scrolled) { 
     if($(elm).hasClass('testingclass')){ 
     console.log('testingclass'); 
     } 
    }, 
}); 
+0

不工作,因爲榆樹是全身 – FilippoLcr

相關問題