根据元素ID更改类值

时间:2012-05-14 21:40:51

标签: javascript jquery html

如果我说错了,请啪啪一声,我是初学者。

这是我的设置,我认为这与Outlook的用户界面非常相似。

左窗格(浮动div)包含您可以单击的容器列表(如电子邮件)。右侧窗格包含一组不可见的容器,当它们的类更改为不同的css类时,它们应该可见。

我正在尝试设置它,如果你单击左窗格中的元素,它然后执行onclick javascript操作(存储在外部.js文件中),在两个css类之间切换正确的div的类值

左窗格div中的onclick将$ _row ['uniqueID']传递给该函数。这是唯一增加的列名。它也是右侧窗格的ID值。

总而言之,有人可以指导我如何做到这一点吗?

左窗格......

<div onclick=\"toggleMenu('".$row['uniqueIdentifier'],"'); \">

右侧窗格......

<div id=".$row['uniqueIdentifier']," class=\"mL\">

的CSS ...

div.mL {display:none;}
div.mL.active {display:block;}

2 个答案:

答案 0 :(得分:2)

function toggleMenu(div){
    $('#'+div).addClass('active');
}

jQuery有.addClass().removeClass()方法。

我认为这就是你所追求的,如果没有,请告诉我。

答案 1 :(得分:1)

如果不改变太多代码,我建议这样做:

div.mL {display:none;}
div.mLactive {display:block;}

我删除了点,所以你现在有两个不同的类。 因此,点击你只需将具有正确id的div类更改为mLactive。

在Jquery中,这可以用$(#'theid')来完成.addClass('mLactive'); 这只会添加新类。你还想用$(#'theid')删除前一个类.removeClass('mL');

另一种方式:$(#'theid')。attr(“class”,“mLactive”);这不需要删除以前的类。你的选择。这种方法的另一个优点是javascript有一个方法可以做到这一点,不需要Jquery。

Jquery也有简单的选项$(#'theid')。show();和$(#'theid')。hide()btw。