javascript - 如果元素具有类和特定值,则 jquery 显示内容

标签 javascript php jquery html css

我正在创建一个导航栏,并且希望仅当该元素具有 "active" 类并且该元素的值等于一个字符串时,才在每个元素旁边包含一个图标.

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

因此,我已经在元素旁边设置了图标,我不希望它们可见,直到它们具有像 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>

最佳答案

.val() 将不起作用。它适用于输入类型。使用 .text()

尝试:

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

关于javascript - 如果元素具有类和特定值,则 jquery 显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20272251/

相关文章:

javascript - 将带有隐藏样式属性行的动态表列复制到 textarea jQuery

javascript - 下拉值的 Jquery 选择器不区分大小写

javascript - 尝试使用 jQuery 选择父 DOM 中的隐藏字段

php - 查询 SQL 表以根据用户输入返回同一行的值

PHP:使用 preg_match() 匹配奇怪的破折号

php - MySQL select 后没有换行符

javascript - 如何将元素索引与数组索引匹配?

javascript - 为什么 Typescript 认为 async/await 返回一个包含在 Promise 中的值?

javascript - 是否有 HTML5 替代 JS 的警告框?

javascript - IE8 & IE7 onchange事件只有在重复选择后才会触发