HTML 代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js removeClass 应用</title>
<style type="text/css">
div{
width: 100px;
height: 100px;
background-color: #000;
}
.test1{
border:1px solid red;
}
.test2{
border: 5px solid #ff0;
}
.test3{
border: 8px solid #f00;
}
.test4{
border: 10px solid #999;
}
.test5{
border: 12px solid #ccc;
}
</style>
</head>
<body>
<div class="test1 test2 test3 test4 test5"></div>

js代码

<script type="text/javascript">
window.onload = function(){
var div = document.getElementsByTagName('div')[0];
removeClass(div,"test2"); function removeClass(elem,classname){
//首先进行初次判断目标元素是否存在类名
//如果有开始执行具体操作
//如果没有调用控制台报错
if(elem.className != ""){
//先把目标元素的所有类名保存在数组中
//类名的存在是以空格隔开的 所以调用split()方法传入一个空格参数
var allClassName = elem.className.split(" ");
console.log("第一次赋值后class数量为:" + allClassName);
var result;//完成操作后保存类名(在以后调用)
var listClass;//保存修改过后的数组 //1.首先遍历一次所有类名
for (var i = 0; i < allClassName.length; i++) {
if(allClassName[i] == classname){
//如果在所有类名里面找到要删除的类名执行如下操作
//将对应的类名删除,调用splice方法,第一个参数是要删除元素的索引
//第二个参数是删除元素的个数
allClassName.splice(i,1); } } //把 allClassName 数组赋值给 listClass 数组
listClass = allClassName;
//遍历listClass 数组
for (var j = 0; j < listClass.length; j++) {
//把第一个数组元素赋值给 result时要直接赋值不然会出现undefined
//之后加上空格因为类名的存在形式就是用空格分隔的
if (j == 0) {
result = listClass[j];
result += " ";
}else{
//除第一个以外的元素就可以用 加法运算保存在result字符串里面
result += listClass[j];
result += " ";
}
} console.log("处理后的listClass数量" + listClass);
elem.className = result;//将目标元素的类名重新被 result 覆盖掉 }else{
console.log("目标元素没有存在的类名")
} }
}
</script>

【实践】用js 实现 jq 的removeClass 方法的更多相关文章

  1. 怎么用js实现jq的removeClass方法

    1.addClass:为指定的dom元素添加样式. 2.removeClass:删除指定dom元素的样式. 3.toggleClass:如果存在(不存在),就删除(添加)一个样式. 4.hasClas ...

  2. 【实践】js封装 jq siblings 方法

    思路: 1.获取调用元素的父元素下的所有子元素(即它的所有同辈元素和调用元素本身) 2.遍历调用元素父元素下的所有子元素 除调用元素外的所有元素保存在一个数组里面 代码如下: <!DOCTYPE ...

  3. js和jq使用submit方法无法提交表单

    昨天,在做一个表单异步提交内容的时候,遇到很奇怪的问题,submit()方法无法进行提交,每次提交都是把 当前给刷新了,网络抓包发现,每次都是 get方式去获取 当前页面,完全没有post 请求,想着 ...

  4. HTML,CSS,JS,JQ

    CSS: <style> <!--属性选择器--> .container input[type="text"][name="txt"]{ ...

  5. 用JS和JQ来获取子节点!

    用JS和JQ来获取子节点!   在JS中,如果通过document.getElementsByTagName来获取子元素有个弊端:它不单会获取符合要求的子元素,就连同孙元素也会获取.如果有特殊要求,那 ...

  6. JQ的ready()方法与window.onload()的区别与联系

    JQ的ready()与window.onload()方法都是在文档加载完毕之后才会被触发的方法,但它们之间的区别也是很明显的. 1.区别与联系:   $(document).ready() windo ...

  7. jQuery 属性操作 - addClass() 和 removeClass() 方法

    实例 向第一个 p 元素添加一个类: $("button").click(function(){ $("p:first").addClass("int ...

  8. JS与JQ绑定事件的几种方式.

    JS与JQ绑定事件的几种方式 JS绑定事件的三种方式 直接在DOM中进行绑定 <button onclick="alert('success')" type="bu ...

  9. JS、JQ相关小技巧积攒

    JS.JQ相关小技巧积攒,以备不时之需. 1.js 获取时间差:时间戳相减.new Date().getTime()  获得毫秒数,除以(1000*60*60*24) 获得天数. 2.重定向操作:页面 ...

随机推荐

  1. innodb Lock wait timeout exceeded;

    当出现:ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction,要解决是一件麻烦的事情:特别是当一个SQL ...

  2. 读取bmp图片数据

    public void getBMPImage(String source) throws Exception { clearNData(); //清除数据保存区 FileInputStream fs ...

  3. Unity学习疑问记录之图片画质

    http://blog.csdn.net/candycat1992/article/details/22794773

  4. windows2013 iis 配置 xcache

    本帖最后由 artsharp 于 2010-6-8 09:06 编辑XCache是一种新的php缓存器,经过测试,在Windows下效果比同类软件强很多.实际测试效果如下(非科学方法):原网页平均执行 ...

  5. 手机端布局rem 与vm的使用

    手机端原来的时候,在项目中使用js判断出html的字体,然后根据rem设置字体,但是js本着少用的原则,考虑用vm,vh等(顺带说一句,vm vh是网页可视区域宽度 高度 即浏览器宽度减去约16px) ...

  6. cache-coherent nonuniform memory access

    COMPUTER OR GANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

  7. 【转】如何把Json格式字符写进text文件中

    http://www.cnblogs.com/insus/p/4306640.html http://json2csharp.chahuo.com/ 本篇一步一步学习怎样把显示于网页的json格式的字 ...

  8. 【转】一个新的UIButtonMessage 给NGUI,使用委托,自动选择Receiver提供的方法

    http://blog.csdn.net/chiuan/article/details/9290651?utm_source=tuicool&utm_medium=referral 来分享一个 ...

  9. [java]删除数组中的某一个元素

    package org.company.project.test; import java.util.Arrays; import java.util.Scanner; public class Ar ...

  10. ORM系列之二:EF(4) 约定、注释、Fluent API

    目录 1.前言 2.约定 2.1 主键约定 2.2 关系约定 2.3 复杂类型约定 3.数据注释 3.1 主键 3.2 必需 3.3 MaxLength和MinLength 3.4 NotMapped ...