【问题标题】:Joomla javascript css class not updatingJoomla javascript css类未更新
【发布时间】:2011-07-11 01:56:57
【问题描述】:

我使用 joomla 1.6.4 安装并在我的主题中有一个自定义 css/javascript 下拉菜单。菜单 (ul) 的主根元素的 id 为“topnav”。当用户单击其中一个 (li) 菜单项时,它会更改为 class 以将其显示为选中并下拉一行子菜单(嵌入 span)。在执行此操作之前,它会使用迭代从所有其他 li 元素中删除此类。当我在一个最小的 html 页面中测试它时,这工作正常,但是在 Joomla 中,下拉菜单永远不会消失,就好像样式没有改变一样。当一个 li 孩子被点击时,这段代码肯定会被调用:

function SetSelected(id)
{
    var obj = document.getElementById('topnav');
    for ( var count = 0; count < obj.childNodes.length; count++ )
    {
        if(obj.childNodes[count].nodeName.toLowerCase() == 'li')
        {
            $(obj.childNodes[count]).removeClass('clickedstate');   
        }
    }
    $(id).addClass('clickedstate');
    return;
}

根据 jQuery 的 hasClass 方法(以及我的单步调试代码),看起来好像该类已被删除,但元素似乎没有更新。 joomla会以某种方式干扰这个吗?

把我逼疯了! 谢谢

【问题讨论】:

    标签: javascript jquery css joomla1.6


    【解决方案1】:

    你为什么不尝试使用

        $(obj).children().each(function (index) {
           if ($(this).nodeName.toLowerCase() == 'li')
           {
               $(this).removeClass('clickedstate');
           }
        });
    

    【讨论】:

    • 谢谢!我实际上是在使用 mootools,所以稍微修改了一下,但由于某种原因它现在可以工作了!
    猜你喜欢
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 2022-01-18
    • 2014-09-22
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多