gpt4 book ai didi

Mootools 获得二级名称

转载 作者:行者123 更新时间:2023-12-03 01:37:31 27 4
gpt4 key购买 nike

我看到了用 jquery 获取第二类名称的方法,但是如何在 mootools 中做到这一点,我的元素是 <li class="parent active">

我需要匹配完整的类名,例如 li.parent.active 并调整高度(如果我尝试过该类存在) $$('li').hasClass('parent active')或 getProperty 但即使 active 不存在,它们也会返回 true,如果我添加 .parent.active 我得到

该表达式不是合法表达式。现在我必须支持 mootols 1.1 ,1.2 ,1.3 在 CMS 上工作,所以我从丑陋的 1.1 版本开始

这才是实际需要的

var holderdiv =$('mymenu');
if($$('li.parent.active')){holderdiv.setStyle({'height':'50px'});

最佳答案

if($$('li.parent.active') == true) 返回 true,如下所示,它是 true(已定义,不为 null)。

如果你的意思是:是否至少有一个子元素具有 .parent 和 .active,你可以这样做:

if (holderdiv.getElement("li.parent.active")) // at least one.
holderDiv.setStyle("height", 50); // setStyle uses a value pair, not an object.

如果它们不是holderdiv的子代,则只需执行document.getElementwhateverElObj.getElement即可。

由于旧的 xpath 内容,这可能会在 1.11 中中断。

一种可以在所有版本中工作的方法是这样的(尽管只有当 MooTools.version 由于双循环的性能成本而错误时才应该这样做):

var holderdiv = $("holderdiv");

if (holderdiv.getElements("li.parent").some(function(el){ return el.hasClass("active"); })) {
// at least one.
holderdiv.setStyle("height", 50);
}

.some 将遍历所有 li.parent,直到找到与条件匹配的一个 (hasClass("active"))然后返回 bool 值 true,否则返回 false。

http://jsfiddle.net/dimitar/BqwAk/

如果您需要将 lis 的引用保留到集合中,请改用 .filter:

var lis = holderdiv.getElements("li.parent").filter(function(el){ 
return el.hasClass("active");
});

如果所有都有 .parent 并且只有一个可以处于事件状态,那么您并不真正关心,因此您可以这样做

if (holderdiv.getElement("li.active"))

if (holderdiv.getElement("li.active").hasClass("parent"))

...仔细检查它们是否都有 .parent。

关于Mootools 获得二级名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7928802/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com