以下代码会将类“active”分配给id =“39”的元素。如果满足两个条件,就会发生这种情况:1)机构在其班级中包含“酒店商店” - 所以机构类可能是酒店商店,酒店商店-1,酒店商店-2,酒店商店 - 3,等等 - 和2)id =“dropdown-menu”的元素将包含“active”类。
仍然,代码不起作用。您是否有任何关于错误的想法,或者为什么此代码不起作用?任何帮助将不胜感激。
if ( ($('body[class*="hotel-stores"]').length > 0) && ( $( "#dropdown-menu" ).is( ".active" ) )) {
var el = document.getElementById("39");
el.classList.add("active");
}
第二种方式看起来效果很好,但只有当身体类是“酒店商店”时才会这样:
if (document.body.classList.contains('hotel-stores')) {
var el = $(document.getElementById("39"));
el.addClassName("active");
}
答案 0 :(得分:0)
你在评论中说过
未捕获的TypeError:无法读取属性'长度'在酒店商店
这告诉我,该代码中的$
不是jQuery,而是I assumed,但是其他一些库,可能是PrototypeJS,因为它是Magento网站。
如果也加载了jQuery,只需将$
更改为jQuery
即可。
如果你还没有加载jQuery,你可以用PrototypeJS做同样的事情,只是略有不同,因为PrototypeJS不像jQuery那样基于集合:
if (document.body.className.indexOf('hotel-stores') !== -1 && $$("#dropdown-menu.active").length) {
var el = $(document.getElementById("39"));
el.addClassName("active");
}