如何在jQuery中使用多组查找分隔符



我有一个脚本,它将在更改事件时评估所有单选按钮/复选框。如果至少有一个选择的项目具有自定义属性"terminator",它将隐藏所有具有类"questionPanel"的下一个分隔符。

以下是搜索下一个除法器的代码

control.closest(".questionPanel").nextAll(".questionPanel").addClass(className).hide();

现在,我需要再添加一个要搜索和隐藏的东西(如果可用)。

我需要用类"questionPanel"搜索位于当前div中的任何fieldset,然后我想隐藏所有下一个"fieldset"。

我试着添加这样的行,但这对没有任何作用

control.closest(".questionPanel").nextAll("fieldset").addClass(className).hide();

如何找到所有下一个字段集并将其隐藏?

我创建了一个小提琴来向你展示正在运行的脚本,它位于这个链接上https://jsfiddle.net/8yf0v3xt/11/

.nextAll()方法将选择以下同级元素。由于fieldset元素与.questionPanel元素不是同级元素,因此不会选择任何内容。

如何找到所有下一个字段集并将其隐藏?

如果要选择下列fieldset元素,则需要选择最接近的.survey-control-fieldset元素,然后选择以下fieldset同级元素:

更新示例

control.closest('.survey-control-fieldset').nextAll('fieldset').addClass(className).hide();

最新更新