如何用原生js实现点击子级a标签给父级div添加class再点击就移除class

JavaScript012

如何用原生js实现点击子级a标签给父级div添加class再点击就移除class,第1张

<!DOCTYPE html>

<html>

 <head>

  <title>测试页面2</title>

  <meta charset="UTF-8"/>

  <style>

   .tdiv{

    border:2px solid

   }

  </style>

  <script>

   function test(ele){

    var pDiv=ele.parentNode

    if(pDiv.className==" "){

     pDiv.className="tdiv"

    }else{

     pDiv.className=" "

    }

   }

   //还可以用classList,这种方法更流畅

   function test2(ele){

        var pDiv=ele.parentNode

        if(pDiv.classList.contains("tdiv")){

             pDiv.classList.remove("tdiv")

        }else{

             pDiv.classList.add("tdiv")

        }

       }

  </script>

 </head>

 <body>

  <div>

   <a onclick="test(this)">测试</a>

  </div>

 </body>

</html>

可以使用jQuery的attr方法来实现对某一元素的的class的属性的添加或者删除,attr() 方法设置或返回被选元素的属性值.根据该方法不同的参数,其工作方式也有所差异,可以使用removeclass来删除class属性。

工具原料:编辑器、浏览器

1、为li添加class属性:

为某个li元素添加class=“special”的属性

$('li').attr('class','special')

2、删除class属性:

 $("li").removeClass("special")

})

<style type="text/css">

div{

background-color:yellow

}

</style>

<script type="text/javascript">

function removeClass(obj, cls) {

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

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

}

function removeClassTest(){

var obj = document. getElementById('test')

removeClassTest(obj,"divClass")

}

</script>

<body>

<div id = "test" style = "width:250pxheight:100px">

测试测试

</div>

<input type = "button" value = "removeClassTest" onclick = "removeClassTest()" />

</body>