Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery隐藏父项_Jquery - Fatal编程技术网

jquery隐藏父项

jquery隐藏父项,jquery,Jquery,嗯,可能很简单。。。下面的代码仅适用于可见(show())元素。如何获取它?请选择第一个隐藏元素 Jquery $(".postSelectedRules").each(function() { $(this).parents("#idruleB-"+$(this).attr("id").substr(8)+":hidden:first").css('background', '#bbbbbb'); }); Html 1. 2. 您可以使用 $(".postSelectedRules

嗯,可能很简单。。。下面的代码仅适用于可见(show())元素。如何获取它?请选择第一个隐藏元素

Jquery

$(".postSelectedRules").each(function() {
    $(this).parents("#idruleB-"+$(this).attr("id").substr(8)+":hidden:first").css('background', '#bbbbbb');
});
Html


1.
2.
您可以使用

$(".postSelectedRules:hidden").each(function() {
    $(this).parents("#"+$(this).attr("id")).css('background', '#bbbbbb');
});
选择器中的:hidden将查找隐藏的项


我希望这能有所帮助。

您的代码没有多大意义。您正在匹配节点的父节点中搜索与当前节点具有相同ID的节点?ID应该是唯一的

至于排除隐藏项,一般形式如下:

$(this).parents(":someClass:visible:first").addClass("blah");
也不是:

css('background', '#bbbbbb');

如果可能的话,我强烈建议使用类。添加和删除CSS属性是有问题的。上课很简单。

仅供参考。。。你不应该有重复的ID。如果确保这一点,您会发现您的代码将运行得更快。在这种情况下使用类更有意义

假设您的XHTML是这样的:

<div class="someClass" style="display:block;" id="someElement_1">
    <div class="postSelectedRules"></div>
</div>
<div class="someClass" style="display:none;" id="someElement_2">
    <div class="postSelectedRules"></div>
</div>
<div class="someClass" style="display:none;" id="someElement_3">
    <div class="postSelectedRules"></div>
</div>

我相信这基本上就是您要做的。

刚刚添加了相关的html代码并更新了Jquery。我觉得我在做傻事,因为这仍然不起作用。请注意,当页面第一次加载时,“postStuff”类是隐藏的。
<div class="someClass" style="display:block;" id="someElement_1">
    <div class="postSelectedRules"></div>
</div>
<div class="someClass" style="display:none;" id="someElement_2">
    <div class="postSelectedRules"></div>
</div>
<div class="someClass" style="display:none;" id="someElement_3">
    <div class="postSelectedRules"></div>
</div>
$('.someClass:hidden:first').css({backgroundColor:'#bbb'});