Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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
如何通过Javascript针对这个同级CSS_Javascript - Fatal编程技术网

如何通过Javascript针对这个同级CSS

如何通过Javascript针对这个同级CSS,javascript,Javascript,如何通过Javascript将目标锁定在原始HTML将具有附加的.checkmark禁用类(如desire输出)的位置 原始HTML 1 <div> <input type="checkbox" disabled> <span class="checkmark"> </div> 原始HTML 2 <div> <input type="checkbox"> <span class="checkmark"> &

如何通过Javascript将目标锁定在原始HTML将具有附加的.checkmark禁用类(如desire输出)的位置

原始HTML 1

<div>
<input type="checkbox" disabled>
<span class="checkmark">
</div>

原始HTML 2

<div>
<input type="checkbox">
<span class="checkmark">
</div>

期望输出

<div>
<input type="checkbox" disabled>
<span class="checkmark checkmark-disabled">
</div>

意味着它是唯一的目标禁用输入,然后添加。复选标记禁用跨类


<>附加信息:我需要针对兄弟CSS而不是整个div.< /p> 您应该考虑使用CSS使用<代码>将样式应用到兄弟元素:“检查< /代码>和<代码>:禁用< /代码>伪选择器及其复合:

input + .checkmark {}
input:checked + .checkmark {}

input:disabled + .checkmark {}
input:checked:disabled + .checkmark {}
请注意,使用这种方法,您将需要覆盖应用于基本选择器的样式(这完全可以,但您可能会感到困惑)。要在不覆盖的情况下应用不同的样式,可以使用如下伪选择器:

input:not(:checked) + .checkmark {}
对于IE8及以下版本,您可以使用以下语法:

input[disabled] + .checkmark {}

请参阅,以了解您要针对的场景。如果您指的是在目标元素后面的兄弟,那么您可以在css中使用
+
符号

input+span
表示选择紧跟在
元素之后的所有
元素

为了使其更高级,根据
输入
状态更改同级样式,您可以在
输入+span
css中添加
:checked
:disabled

输入:禁用+span
表示选择紧跟在
元素之后的所有
元素

有更多的方法来做CSS选择器,但最好参考W3School


如果您想使用JavaScript或jQuery来做DOM,那么您必须更具体,并提供您正在使用但未能工作的代码。

可能的副本应该考虑将样式应用到<代码>输入:CHEC++.CuqMe}{} /代码>(以及<代码>禁用/代码>),直接通过CSS。你不需要javascript来实现这一点。@Justcode如何定位同级css?@extemp你知道如何定位禁用的input+。复选标记?@SyafiqZainal你的意思是
input:disabled+。复选标记
?@SyafiqZainal
其他信息:我需要定位同级css而不是整个div
,那么,在答案中,什么是不适合你的呢?它只针对
span
元素。