【问题标题】:How to find dividers using multiple group in jQuery?如何在 jQuery 中使用多个组查找分隔符?
【发布时间】:2015-12-16 23:42:26
【问题描述】:

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

以下是搜索下一个分隔符的代码

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

现在,我需要再添加一件事来搜索和隐藏(如果可用)。

我需要使用类“questionPanel”搜索位于当前 div 中的任何 fieldset)然后我想隐藏所有下一个“字段集”。

我尝试像这样添加一行,但没有做任何事情

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

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

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

【问题讨论】:

    标签: javascript jquery html css show-hide


    【解决方案1】:

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

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

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

    Updated Example

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

    【讨论】:

    • 我不确定我是否正确解释了我的需求。但我需要使用类 questionPanel 隐藏当前 div 中现有字段集之后的所有字段集,但不是所有字段集。代码似乎隐藏了错误的东西
    • @MikeA .. 我想我现在明白了.. 看看更新。
    • 谢谢你这样做:)
    猜你喜欢
    • 2017-07-03
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    • 2023-03-25
    • 2012-06-18
    相关资源
    最近更新 更多