cqwcns 发表于 2021-12-15 15:57

CSS选择器的问题(根据包含某元素进行选择)

我希望选择包含input或h1的元素,以下代码为例,我希望选中parent1、parent3,因为他们包含了指定的元素。
这种情况,CSS选择器应该怎么写?谢谢


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <div class="parent1">
<h1>标题</h1>
      <img src="XXX" alt="">
    </div>

    <div class="parent2">
<img src="XXX" alt="">
    </div>

<div class="parent3">
<input type="text">
<img src="XXX" alt="">
</div>

</body>

</html>

szqcuckoo 发表于 2021-12-15 16:09

直接input,h1,parent1,parent2可以吗

layuai 发表于 2021-12-15 16:17

$("div input,h1")这种?

素问何问 发表于 2021-12-15 16:27

<script>
document.querySelectorAll("div>h1,div>input").forEach(function(e) {
    e.parentNode.style.backgroundColor = "#000000";
});
</script>

cqwcns 发表于 2021-12-15 16:34

layuai 发表于 2021-12-15 16:17
$("div input,h1")这种?

这样只会选择子元素,需求是选择父元素。

cqwcns 发表于 2021-12-15 16:35

szqcuckoo 发表于 2021-12-15 16:09
直接可以吗

需求是选择包含input或h1的元素。不能写死类名。

cqwcns 发表于 2021-12-15 16:36

素问何问 发表于 2021-12-15 16:27

document.querySelectorAll("div>h1,div>input").forEach(function(e) {
...

可行,就是要用到JS,如果纯CSS能实现就好了。

素问何问 发表于 2021-12-15 16:38

cqwcns 发表于 2021-12-15 16:36
可行,就是要用到JS,如果纯CSS能实现就好了。

CSS暂不能实现,过几年或许可以

wenxin2150 发表于 2021-12-15 16:55

wenxin2150 发表于 2021-12-15 17:04

页: [1] 2
查看完整版本: CSS选择器的问题(根据包含某元素进行选择)