Home  >  Article  >  Web Front-end  >  javascript clear class

javascript clear class

WBOY
WBOYOriginal
2023-05-05 22:10:105547browse

Javascript is a powerful scripting language that can make web pages more vivid and rich. In web design, we often need to add or delete some classes to adjust the web page style. However, if the class is not cleared, the web page style will be confused and the user experience will be affected. This article will introduce how Javascript clears classes to better manage web page styles.

First of all, we need to understand the principle of class. In HTML, we can specify one or more class names for elements by adding the class attribute, for example:

<div class="box red"></div>

In CSS, we can use the class selector to set styles for elements with specified class names, for example :

.box {
  width: 100px;
  height: 100px;
  border: 1px solid black;
}

.red {
  background-color: red;
}

In this way, we can set the element with the specified class name to a square box with a red background. But what if we want to remove this class?

One way is to use jQuery, for example:

$('.box').removeClass('red');

This can remove the red class of all elements whose class contains red name, but jQuery itself is a larger library, and the introduction will increase The loading time of the web page. Therefore, we prefer to use Javascript's native methods to implement the function of clearing classes.

1. Use element.classList.remove method

Javascript provides the classList attribute for elements, which returns a DOMTokenList object containing the class names of all class attributes.

We can use the remove method provided by this object to delete the specified class. For example:

var box = document.getElementsByClassName('box')[0];
box.classList.remove('red');

This will remove the red class of the box element. It should be noted that classList.remove can only delete one class, not multiple ones.

If we want to use a loop to delete specified classes in batches, we can use the split method to convert the classList object into an array, and then use the forEach method to traverse the array and delete the specified class. For example:

var boxes = document.querySelectorAll('.box');
boxes.forEach(function(box) {
  box.classList.remove('red');
});

Here we use the querySelectorAll method to select all elements with class box, then traverse the array and delete all red class.

2. Use element.className attribute

In addition to using the classList.remove method, we can also directly modify the className attribute of the element to remove the class name to be deleted from the attribute value.

For example:

var box = document.getElementsByClassName('box')[0];
box.className = box.className.replace('red', '');

In this example, we use the replace method to replace the red class in the attribute value with an empty string to delete the class. It should be noted that if there are multiple identical class names in the attribute value, this method can only delete one of them.

If we want to delete all red class names, we can use regular expressions to match and delete them. For example:

var box = document.getElementsByClassName('box')[0];
box.className = box.className.replace(/red /g, '');

Here we use the g flag to indicate global matching and add spaces to the regular expression to avoid deleting other classes containing the red string.

3. Use the getAttribute and setAttribute methods

In addition to directly modifying the className attribute, we can also use the getAttribute and setAttribute methods to obtain and set the class attribute value of the element.

For example:

var box = document.getElementsByClassName('box')[0];
var classes = box.getAttribute('class').split(' ');
classes.splice(classes.indexOf('red'), 1);
box.setAttribute('class', classes.join(' '));

In this example, we use the getAttribute method to get the class attribute value of the element and convert it into an array. Then, we use the splice method to delete the specified red class, and use the join method to convert the array back to a string, and use the setAttribute method to set it as the new class attribute value.

It should be noted that the getAttribute and setAttribute methods are slower than the className attribute. Therefore, we need to choose the most appropriate method according to the actual situation.

Conclusion

Clearing classes is an essential part of web page style management. We can use jQuery, classList, className attributes and getAttribute and setAttribute methods to achieve the function of clearing classes. Choosing the most appropriate method according to the actual situation can effectively manage web page styles and improve user experience.

The above is the detailed content of javascript clear class. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn