元件我有以下单选按钮:如何选择具有特定类的元素,然后选择具有类和另一
// these should be included in sauce_flavor
<input type="radio" value="S." onclick="countPBClicks('S')" name="sauce.left" class="pb-radio-sauce default-sauce">
<input type="radio" value="S.C" onclick="countPBClicks('SF')" name="sauce.left" class="pb-radio-sauce make-table">
// this should be included in sauce
<input type="radio" value="S.reg_sauce" onclick="countPBClicks('S')" name="sauce.left" class="pb-radio-sauce ">
我有需要具有用于物品两个单独的流动的开关只有pb-radio-sauce' class and items that have both the
pb-radio-sauce class and either
默认酱油or 'make-table
。
case 'sauce':
retval = {};
jQuery('.pb-radio-sauce:checked').each(function() {
var elem = jQuery(this);
retval[elem.val()] = String(elem.attr('name')).split('.')[1];
});
break;
case 'sauce_flavor':
retval = {};
jQuery('.pb-radio-sauce make-table:checked').each(function() {
var elem = jQuery(this);
retval[elem.val()] = String(elem.attr('name')).split('.')[1];
});
break;
问题是,我似乎无法拿出正确的选择器来将它们拆分出来。 ('.pb-radio-sauce:checked')
找到所有的结果,包括与中学班,然后击中休息,所以它永远不会去sauce_flavor选项。我不确定如何在sauce_flavor实例中包含两个可能的辅助类,同时仍包含checked属性。
我有一个精简fiddle(无需开关;刚刚定义的函数),显示这是怎么回事。无论我定义函数的顺序如何,所有选中的项目仍然被pb-radio-sauce
选择器捕获。
什么是String(),这是不需要的。你想有':not(.otherClass)'? – epascarello
这是我继承的旧代码,必须添加新功能。我离开了String(),因为代码库是一个噩梦,我宁愿不开始搞乱当前正在工作的位。至于':not',否 - 为了工作,你必须具体说明你不想要的类。还有很多其他的课程可以与'pb-radio-sauce'结合使用,我不能将它们全部包含在':not'中。我需要一种方法来积极地指定要找到哪些类,而不是负面地指出哪些类找不到。 – EmmyS
所以你想要一个或?找到X或Y? '$(“[type = radio]:checked”)。filter(“。x,.y”)...' – epascarello