我使用 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会以某种方式干扰这个吗?
快把我逼疯了!谢谢