js删除class元素(js对象删除指定元素)

http://www.itjxue.com  2023-01-28 01:59  来源:未知  点击次数: 

怎么用js实现jq的removeClass方法

1、addClass:为指定的dom元素添加样式。

2、removeClass:删除指定dom元素的样式。

3、toggleClass:如果存在(不存在),就删除(添加)一个样式。

4、hasClass:判断样式是否存在。

原生 JS 代码如下:

function?hasClass(obj,?cls)?{

????return?obj.className.match(new?RegExp('(\\s|^)'?+?cls?+?'(\\s|$)'));

}

function?addClass(obj,?cls)?{

????if?(!this.hasClass(obj,?cls))?{

????????obj.className?+=?"?"?+?cls;

????}

}

function?removeClass(obj,?cls)?{

????if?(hasClass(obj,?cls))?{

????????var?reg?=?new?RegExp('(\\s|^)'?+?cls?+?'(\\s|$)');

????????obj.className?=?obj.className.replace(reg,?'?');

????}

}

function?toggleClass(obj,cls){

????if(hasClass(obj,cls)){

????????removeClass(obj,?cls);

????}?else?{

????????addClass(obj,?cls);

????}

}

js通过class属性 删除节点

js通过class属性删除节点用法实现:

比如有test.html,div的结构如下:

div class="columns" id="columns"

div class="column"input type="checkbox" name="col_list[]" value="cows"cows/div

div class="column"input type="checkbox" name="col_list[]" value="cows"cows/div

div class="column"input type="checkbox" name="col_list[]" value="cows"cows/div

div class="column"input type="checkbox" name="col_list[]" value="cows"cows/div

div name="columnClear" class="contentClear" id="columnClear"/div

/div

可以通过class属性来删除指定的节点:

js常用方法:element.parentNode.removeChild(element);

或者直接定义删除的js方法:

function removeElementsByClass(className){

var elements = document.getElementsByClassName(className);

while(elements.length 0){

elements[0].parentNode.removeChild(elements[0]);

}

}

这样只要传入class名,就可以删除这个class相关的子节点了。

如何通过class和id使用原生js删除元素

!--原生js删除元素的方法是removechild('xxx'),如果想点击自己,移除自己,那么就要找到它的父元素,父元素再用removechild('xxx')来移除自己,括号里就是自己 --

html

head

title/title

meta charset="utf-8" /

style

/style

/head

body

ul

lisdf /li

li收到 /li

lisd是对方是对f /li

li是对浮点数 /li

/ul

script

var allLi=document.querySelectorAll('li')

for(var a=0;aallLi.length;a++){

allLi[a].onclick=function(){

this.parentNode.removeChild(this)

}

}

/script

/body

/html

原生javascript 增加 删除 class

????//?dom?元素处理

????//?获取dom属性

????function?getAttr(?attr?)

????{

????????return?this.getAttribute(?attr?);

????}

????//?设置属性

????function?setAttr(?attr,?val?)

????{

????????this.setAttribute(?attr,?val?);

????????return?this;

????};

????//?编辑元素class

????function?editClass(?mode,?data?)

????{

????????var?cls?=?getAttr.call(?this,?"class"?)?||?'';

????????var?arr?=?cls.split(?/\s+/?);

????????switch(?mode?)

????????{

????????????case?"add":

????????????????return?setAttr.call(?this,?"class",?cls?+?"?"?+?data?);

????????????break;

????????????case?"remove":

????????????????for(?var?i?=?0;?i??arr.length;?i++?)

????????????????{

????????????????????if(?arr[?i?]?==?data?)

????????????????????{

????????????????????????arr.splice(?i,?1?);

????????????????????}

????????????????};

????????????????var?cls?=?arr.join(?"?"?);

????????????????cls?=?cls.replace(?/^\s|\s$/g,?""?);

????????????????//?cls?=?cls?==?""???null?:?cls;

????????????????return?setAttr.call(?this,?"class",?cls?);

????????????break;

????????????default:

????????????????console.log(?"EditClass?mode?error!"?);

????????????????return?this;

????????????break;

????????}

????}

????//?添加class

????function?addClass(?cls?)

????{

????????return?editClass.call(?this,?"add",?cls?);

????}

????//?删除class

????function?removeClass(?cls?)

????{

????????return?editClass.call(?this,?"remove",?cls?);

????}

????

????//?我写的这个调用起来和普通的调用方式不一样,?需要用call

????

????//?比如

????dom?=?document.getElementById('domid');

????addClass.call(dom,?'newclass');?//?给dom添加名为‘newclass’的classname

至于toggle没用过,不清楚是什么效果, 不过我想结合add和remove应该已经能做出所有效果了

如何用JavaScript删除指定class?

div?class="abc"点我删除/div

script

window.onload=function(){

???var?abc=document.getElementsByClassName("abc")[0];

???abc.onclick=function(){

??????this.parentNode.removeChild(this);

???}

}

/script

原生JS如何查询一个元素的class,增加一个class,删除一个class

document.getElementById("myDIV").className;

document.getElementById("myDIV").className.indexOf('firstClass')

或者

document.getElementById("myDIV").classList.contains('firstClass');

document.getElementById("myDIV").classList.add("firstClass");

document.getElementById("myDIV").classList.add("firstClass", "secondClass", "thirdClass");

document.getElementById("myDIV").classList.remove("firstClass");

document.getElementById("myDIV").classList.remove("firstClass", "secondClass", "thirdClass");

(责任编辑:IT教学网)

更多

推荐linux服务器文章