1

嗨,我的网站上有这样的菜单:

<div class="menu">
    <p align="left" id="home" class="titolo_menu">home</p>
    <p align="left" id="azienda" class="titolo_menu azienda"><br>azienda</p>
    <p align="left" id="staff" class="titolo_sotto_menu azienda">staff</p>
    <p align="left" id="risorseumane" class="titolo_sotto_menu azienda">risorse umane</p>
    <p align="left" id="servizi" class="titolo_menu servizi"><br>servizi</p>
    <p align="left" id="servizioclienti" class="titolo_sotto_menu servizi">servizio clienti</p>
    <p align="left" id="prodotti" class="titolo_menu prodotti"><br>prodotti</p>
    <p align="left" id="web" class="titolo_sotto_menu prodotti">web</p>
</div>

我想检查当我单击一个元素时是否有一个旧页面的类。我将旧页面的 id 存储在我的 php 会话中,然后在 javascript 中检索。例如我的旧页面 id 是:“azienda”(是p我的菜单)。我在我的菜单中搜索 ID 为“azienda”的元素,并且我想与我现在点击的元素(例如员工)进行比较。我想比较我的 id 为“staff”的 p 是否包含类的一部分,在本例中为“azienda”,并点击了旧的 p。在这种情况下匹配。问题是我的 p 中有两个类,如果只有一个没有问题,但有两个我只想比较第二个类。

 $('.titolo_sotto_menu').click(function(){
        var id=$(this).attr('id');//staff
        var class=$(this).attr('class');
        var page=id;

        old_page=actual_page;//azienda
        actual_page=page;

        var class_old = $('#'+old_page).attr('class');

        if (class == class_old){
            //do something
        }   
});
4

3 回答 3

2

您可以使用 jQuery 的函数 element.hasClass('classname')。

var classes[] = class.split(' ');
for(var i=0; i<classes.length; i++){
if ($('#'+old_page).hasClass(classes[i])){
            //do something
        }
}
于 2012-10-23T15:39:00.390 回答
1

如果您确定只需要检查第二个类,那么只需从元素中提取第二个类。

var secondClass = $('#idOfElement').attr('class').split(' ')[1]

此外,您可能需要添加检查以查看是否有两个类:

var secondClass = $('#idOfElement').attr('class').split(' ').length > 1 
? $('#idOfElement').attr('class').split(' ')[1] 
: $('#idOfElement').attr('class');
于 2012-10-23T15:46:11.383 回答
-1

$.data()可能会有所帮助。让我知道 :)

于 2012-10-23T15:46:26.977 回答