2013-11-28 16 views
0

我正在創建一個導航欄,並且只在元素的類爲"active"並且元素的值相等時纔會在每個元素旁邊包含一個圖標到一個字符串。如果元素有一個類和特定的值,jquery會顯示內容

http://gyazo.com/4811bc6779aaecd1fe80c020a69f1fb6.png

所以,我旁邊已經元素,我不希望他們visable,直到他們有一個像Home活躍類做的圖標。我試過這個:

if($('.navbar-nav li').hasClass('active') && $('.navbar-nav li a').val() === "Home"){ 
    $('.navbar-nav li.active a').prepend('test '); 
} 

但它沒有工作。每個元素都有不同的圖標,所以我爲每個案例猜測elseif

標記爲導航(與PHP顯示):

<?php 
     $nav = array(
    'Home' => 'index.php', 
    '<span class="icon-bubbles"></span> Forums' => '#', 
    '<span class="icon-cabinet"></span> Gametypes' => 'index.php?action=gamemodes', 
    '<span class="icon-aid"></span> Help' => 'index.php?action=help', 
    'Statistics' => 'index.php?action=statistics' 
    ); 
    ?> 
<ul class="nav navbar-nav"> 
    <?php 
     $request = basename($_SERVER['REQUEST_URI']); 
     foreach($nav as $name => $link): 
    ?> 
    <li <?php if($request == $link) echo 'class="active"'; ?>><a href="<?php echo $link; ?>"><?php echo $name ?></a></li> 
    <?php 
     endforeach; 
    ?> 
    <li> 
    <a href="http://google.com" title="Thanks for voting!" rel="shadowbox[vote];width=1000px;"><span class="icon-pencil"></span> Minecraft Voting</a> 
    <div style="display:none;"> 
     <a href="http://google.com" title="Thanks for voting!" rel="shadowbox[vote];width=1000px;"></a> 
    </div> 
    </li> 
</ul> 

回答

0

.val()將無法​​正常工作。它適用於輸入類型。使用.text()

嘗試:

if($('.navbar-nav li').hasClass('active') && $('.navbar-nav li a').text() === "Home"){ 
    $('.navbar-nav li.active a').prepend('test '); 
} 
+0

它看起來像是要工作,但它沒有。沒有什麼變化 – somethinghereplease1

+0

@ davidxd33如果你提供HTML標記,它會更容易理解 – Hiral

+0

它不是靜態的HTML顯示導航。這是PHP,但我會發布它。 – somethinghereplease1

0

試試這個:

if($('.navbar-nav li').attr(class).indexOf('active')!=-1 && $('.navbar-nav li a').val() === "Home"){ 
    $('.navbar-nav li.active a').prepend('test '); 
} 
0
$('.navbar-nav li.active a:contains(Home)').prepend('test '); 

如果選擇不匹配任何元素,沒有任何反應。

相關問題