我有一个像这样的HTML项目:
<div class="market">
<button class="area1 region03 optionSelected" data-type="market" data-vendor="1">Tulsa</button>
<button class="area1 region03" data-type="market" data-vendor="1">Houston</button>
<button class="area1 region03" data-type="market" data-vendor="1">Kansas City</button>
</div>
<div class="region">
<button class="area1 region03" data-type="region" data-vendor="1">Midwest</button>
</div>
可能的选项是它有一个optionSelected或preOptionSelected类。如果我直接点击它就是optionSelected,我不想要任何其他东西来打扰它。但是,如果我点击另一个按钮,它需要测试它是否(以及同一数据类型中的所有其他按钮)在类中具有optionSelected。
现在我正在使用以下方法将preOptionSelected应用于数据类型中的所有按钮:
VZW.all('.region03').addClass('preOptionSelected');
这会添加类preOptionSelected,但我希望它首先测试optionSelected。我也在为每个地区和地区迁移到数据 - 我该如何测试?
答案 0 :(得分:0)
VZW.all('.market button').each(function(subNode){
if (subNode.getData('region') == node.getData('region')) {
if (subNode.hasClass('selectorButton') {
return false;
} else {
subNode.addClass('preOptionSelect');
}
}
});
如果有更好的方式我很高兴听到它,但这将在接下来的几个月内转移到jQuery,以便工作。
答案 1 :(得分:0)
我的编辑被吃掉了。您可以简化检查
if (subNode.getData('region') === node.getData('region')
&& !subNode.hasClass('selectorButton')) {
subNode.addClass('preOptionSelect');
}
但你所拥有的是合理惯用的YUI3,所以如果它有效,那就去吧!