Как скрыть элемент div, имя класса которого изменяется динамически? - PullRequest
0 голосов
/ 11 января 2020

До открытия модального режима:

<div class="classname1">Some Text</div>

После закрытия модального режима:

<div class="classname1 classname2">Some Text</div>

Ответы [ 4 ]

1 голос
/ 11 января 2020

Поскольку ваш вопрос неясен, предполагается, что вы хотите добавить и удалить класс для определенных функций.

Я создал образец скрипта, используя jQuery здесь ссылку !

HTML

<div class="custCls" id="banner-message">
 <div>Hello World</div>
  <button id="addStyle">Add Style</button>
  <button id="removeStyle">Remove Style</button>
</div>

CSS

body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}

.custCls{
   width: 300px;
}

#banner-message {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  font-size: 25px;
  text-align: center;
  transition: all 0.2s;
  margin: 0 auto;
}

button {
  background: #0084ff;
  border: none;
  border-radius: 5px;
  padding: 8px 14px;
  font-size: 15px;
  color: #fff;
}

#banner-message.alt {
  background: #0084ff;
  color: #fff;
  margin-top: 40px;
}

#banner-message.alt button {
  background: #fff;
  color: #000;
}

jQuery

var banner = $("#banner-message")
var button = $('#addStyle');
var button1 = $('#removeStyle');

// handle click and add class
button.on("click", function(){
  banner.addClass("alt")
})

button1.on("click", function(){
  banner.removeClass("alt")
})
1 голос
/ 11 января 2020

Вы можете сослаться на мой пример кода.

function addClass(){
	var div=document.getElementsByClassName("classname1")[0];
  div.classList.add('classname2');
}
.classnam1{
  font-weight:bold;
}
.classname2{
  color: red;
}
<div class="classname1">Some Text</div>
<button onclick="addClass()">
GO
</button>
0 голосов
/ 11 января 2020

Вы можете добавить пользовательский атрибут к этому элементу и, используя его, можете скрыть элемент при необходимости.

Html код.


<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-html lang-html prettyprint-override"><code><div class="classname" cust_attr="attr_1">Some Text</div></code>
Некоторый текст

Jquery Код

$("[cust_attr=attr_1]").hide();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
0 голосов
/ 11 января 2020

Вы можете проверить новые имена классов, получив длину classList элементов.

Сначала установите начальную длину classList элемента и сравните.

var initiallen = 0;
var div = document.querySelector("div");
initiallen = div.classList.length;

function check(){
 return initiallen === div.classList.length ? false : true;
}
<div class="classname1">Some Text</div>
<button onclick="document.querySelector('div').classList.add('classname2')">Add new classname</div>
<button onclick='console.log("class changed?" ,check())'>Check</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...