如何将类添加到一个动态菜单项?

时间:2013-05-04 20:50:35

标签: php javascript css3 dynamic menuitem

PHP:

$sql = "SELECT id, menuname
        FROM table
        WHERE status = 'active'
        ORDER BY order ASC";
$result = mysql_query($sql);
$menu = "<ul>\n";
while ($row = mysql_fetch_assoc($result)) {
    $menu.= "<li><a href=\"?id={$row['id']}\">{$row['menuname']}</a></li>";
}
$menu.= "</ul>\n";

HTML:

<nav>
    <ul>
        <li><a href="?id=1">About</a></li>
        <li><a href="?id=2">News</a></li>
        <li><a href="?id=3">Prices</a></li>
        <li><a href="?id=4">Gallery</a></li>
        <li><a href="?id=5">Contact</a></li>
    </ul>
</nav>

我想将class =“lhidden”添加到“新闻”(不是第二个菜单,因为订单可以更改)。

<li class="lhidden"><a href="?id=2">News</a></li>

我该怎么做?我只是在学习javascript和php,所以我不知道:S

3 个答案:

答案 0 :(得分:2)

怎么样

while ($row = mysql_fetch_assoc($result)) {
    $menu.= "<li><a".($row['menuname']=='News'?' class="lhidden"':'')." href=\"?id={$row['id']}\">{$row['menuname']}</a></li>";
}

答案 1 :(得分:0)

使用jQuery非常简单:

$('a[href="?id=2"]').parent().addClass('lhidden');

这将首先找到特定的锚点,然后将您的类添加到其父级。

选择器部分的文档:http://api.jquery.com/attribute-equals-selector/

答案 2 :(得分:0)

   $sql = "SELECT id, menuname
   FROM table
   WHERE status = 'active'
   ORDER BY order ASC";
   $result = mysql_query($sql);
   $menu = "<ul>\n";
   while ($row = mysql_fetch_assoc($result)) {

   if($row['id']==2)
   {  
       $menu.= "<li class=\"lhidden\"><a href=\"?id={$row['id']}\">{$row['menuname']}</a></li>";
   }
   else
   {
       $menu.= "<li><a href=\"?id={$row['id']}\">{$row['menuname']}</a></li>";
   }
   $menu.= "</ul>\n";