Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
Html 如何选择具有类的所有元素,但不包括具有与模式匹配的id的祖先的元素?_Html_Css_Css Selectors - Fatal编程技术网

Html 如何选择具有类的所有元素,但不包括具有与模式匹配的id的祖先的元素?

Html 如何选择具有类的所有元素,但不包括具有与模式匹配的id的祖先的元素?,html,css,css-selectors,Html,Css,Css Selectors,我有一个HTML文档,其中有许多元素的样式类为.ps label。我有一个风格,我需要适用于除一个元素以外的所有元素。该元素位于div中,如下所示: <div class="ps_box-edit psc_disabled psc_has_value g3form-hdr-formid" id="win5divG3FORM_WRK_G3FORM_ID"> <div class="ps_box-label" id="win5divG3FORM_WRK_G3FORM_IDl

我有一个HTML文档,其中有许多元素的样式类为
.ps label
。我有一个风格,我需要适用于除一个元素以外的所有元素。该元素位于
div
中,如下所示:

<div class="ps_box-edit psc_disabled psc_has_value g3form-hdr-formid" id="win5divG3FORM_WRK_G3FORM_ID">
    <div class="ps_box-label" id="win5divG3FORM_WRK_G3FORM_IDlbl">
        <span class="ps-label">Form ID</span>
    </div>
    <span class="ps_box-value" aria-disabled="true" id="G3FORM_WRK_G3FORM_ID">415</span>
</div>
它不起作用,因为它没有引用具有标签的范围。它指的是父对象。如何排除具有该特定id的div的子级

我已经尝试使用子选择器
获取具有该id的div的后代,但我的语法肯定是错误的,因为Chrome不接受它作为有效选择器:

.ps-label:not([id$="divG3FORM_WRK_G3FORM_ID"] > div > span) { }

我做错了什么?这可能吗?

我会添加一条针对所有
.ps标签的规则,然后添加另一条针对您的异常的规则

.ps标签{
颜色:红色;
}
/*例外规则*/
#win5divG4FORM_WRK_G4FORM_IDlbl.ps标签{color:blue;}

表格ID
415
表格ID
416
表格ID
417

我将添加一条针对所有
.ps标签的规则,然后添加另一条针对异常的规则

.ps标签{
颜色:红色;
}
/*例外规则*/
#win5divG4FORM_WRK_G4FORM_IDlbl.ps标签{color:blue;}

表格ID
415
表格ID
416
表格ID
417

你有打字错误吗
.ps\u box-label:not
应该可以使用..难道没有办法在CSS上引用父元素吗?您所做的是针对不具有
id的
ps标签。…
所有元素都具有该结构
.ps\u box-edit:not([id$=“divG3FORM\u WRK\u G3FORM\u id”)。ps label
可以工作。我需要针对所有具有类
.ps label
的元素,除了我在上面的
div
中的
span
。最简单的方法是制定两条规则,一条设置所有标签,另一条覆盖异常。把sute作为例外是在另一条规则之后你有打字错误吗
.ps\u box-label:not
应该可以使用..难道没有办法在CSS上引用父元素吗?您所做的是针对不具有
id的
ps标签。…
所有元素都具有该结构
.ps\u box-edit:not([id$=“divG3FORM\u WRK\u G3FORM\u id”)。ps label
可以工作。我需要针对所有具有类
.ps label
的元素,除了我在上面的
div
中的
span
。最简单的方法是制定两条规则,一条设置所有标签,另一条覆盖异常。让sute成为例外是在另一条规则之后。这比我想做的要简单得多。谢谢这比我想做的要简单得多。谢谢
.ps-label:not([id$="divG3FORM_WRK_G3FORM_ID"] > div > span) { }