CSS вход: проверено взломать - PullRequest
0 голосов
/ 10 февраля 2020

в приведенном ниже коде возможно изменить color глубокого связывания div через input checkbox взломать

<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>
<style>
  .checkclick:checked .hello {
    color: blue;
  }
</style>

<body>
<div>
  <input type="checkbox" id="check" class="checkclick" />
  <span>Hello One next</span>
</div>
<div class="one">
  <div class="two">
    <div class="hello">hello world</div>
  </div>
</div>
  </body>

</html>

Ответы [ 3 ]

3 голосов
/ 10 февраля 2020

Да, вы можете использовать элемент + селектор элемента или селектор брата .

Пример с селектором элемента + элемента .checkclick:checked + .one .hello попробуйте:

.checkclick:checked+.one .hello {
  color: blue;
}
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body>
  <input type="checkbox" id="check" class="checkclick" />
  <div class="one">
    <div class="two">
      <div class="hello">hello world</div>
    </div>
  </div>
</body>

</html>
2 голосов
/ 10 февраля 2020

Я думаю, это то, что вы хотите:

input[type=checkbox]:checked + .one .two  .hello {
  color: blue;
}
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <input type="checkbox" id="check" class="checkclick" />
    <div class="one">
      <div class="two">
        <div class="hello">hello world</div>
      </div>
    </div>
  </body>
</html>
1 голос
/ 11 февраля 2020

Не изменять структуру и ответить на комментарий TS

Можете ли вы помочь мне с javascript, как это будет работать

Javascript версия

document.getElementById("check").onchange = function() {
  const element = document.getElementById("hello_id");
  element.classList.toggle("blue");
}
.blue {
  color: blue;
}
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body>
  <div>
    <input type="checkbox" id="check" class="checkclick" />
    <span>Hello One next</span>
  </div>
  <div class="one">
    <div class="two">
      <div class="hello" id="hello_id">hello world</div>
    </div>
  </div>
</body>

</html>

JQuery версия

$("#check").change(function() {
  $("#hello_id").toggleClass("blue");
});
.blue {
  color: blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body>
  <div>
    <input type="checkbox" id="check" class="checkclick" />
    <span>Hello One next</span>
  </div>
  <div class="one">
    <div class="two">
      <div class="hello" id="hello_id">hello world</div>
    </div>
  </div>
</body>

</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...