如何为匹配元素添加和删除CSS样式

如何为匹配元素添加和删除CSS样式:
在网页中,往往有这样的要求,就是根据需求动态的改变网页的样式,比如说点击一个按钮就会改变另一个对象的外观等等,这个时候就需要动态的添加或者删除CSS样式,下面就通过实例简单介绍一下如何添加和删除CSS样式。

代码实例如下:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset=" utf-8"> 
<meta name="author" content="http://www.softwhy.com/" /> 
<title>蚂蚁部落</title> 
<style type="text/css">  
div  
{  
  width:100px;  
  height:100px;  
  border:1px solid red;  
}  
.bg{background-color:green;}  
</style>  
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>  
<script type="text/javascript">  
$(document).ready(function(){  
  $("#add").click(function(){  
     $("div").addClass("bg");  
  })  
  $("#del").click(function(){  
     $("div").removeClass("bg");  
  })  
})  
</script>  
</head>  
<body>  
<div></div>  
<button id="add">添加样式</button><button id="del">删除样式</button>  
</body>  
</html>
原文地址: http://www.softwhy.com/forum.php?mod=viewthread&tid=6257

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS编辑器。在网页上使用CSS样式CSS Brush-Live CSS Editor使您的chrome浏览器成为CSS客厅,可以为您的网站设置样式。 一个强大的工具,可以实时设置您的网站样式。 出于几个原因,编写CSS文件始终是一件乏味的工作。 我们针对涉及CSS的所有开发挑战提出了非常出色的解决方案。 [注意:请在最后看到,在某些情况下CSS Brush无法使用] CSSBrush的功能:=====================#1 Live CSS Editor {网页是画布。 您使用CSS Brush所做的一切都会立即应用到您的页面上。 因此,这不是Web设计,而是Web绘画体验。 }#2文本编辑器,如界面{尽管该工具未提供完整的文本编辑器界面。 它提供了更多CSS属性,而不仅仅是文本输入。 }#3上下文相关菜单{您在键入时就会了解匹配的属性。 因此,您不必键入所有字符,只需输入b,o和enter等几个字符即可输入“ border”。 或者可能只有几个上下箭头笔触可以使您处于所需的属性。 }#4开启/关闭属性{您不必删除元素的完整CSS属性,只需将其关闭即可。 因此,您可以在属性为OFF或ON时检查元素样式}#5复制属性{您可以提供相同属性的多个实例。 喜欢,提供“颜色:红色;颜色:绿色;颜色:蓝色;” 对于一个元素。 默认情况下,仅最后一个重复条目将被打开。 但是,此功能很方便您使用,或者让您的经理选择最适合该页面的选项。 }#6排序后的属性{输入属性时,它将放置在排序后的位置。 此功能克服了由于重复属性而使开发人员面临的麻烦。 }#7使用向上/向下箭头键增加/减少数字{经常需要通过频繁更改宽度,边距,填充等属性中的数字来查看样式。使用向上和向下键可即时更改数字。 }#8具有CSS路径的元素选择器{您不必键入选择器的完整CSS路径,例如“ body table.x tr td div.a div ul li span.x”。 只需使用鼠标从页面中选择并获得完整CSS路径即可。 }#9选择器过滤器{如果您觉得选择器获得CSS路径很笨拙,则可以通过单击几下进行过滤。 就像您可以使point#7中提到CSS路径成为“ table.x div.a span.x”或仅需单击几下即可成为“ .x .a .x”。 }#10查看有效元素{将鼠标指针悬停在您组成的选择器的任何标记上,以查看受该选择器影响的所有元素,直到该标记为止。 就像在第7点提到CSS路径中一样,将鼠标指针悬停在“ tr”标记上时,您可以看到“ body table.x tr”的所有有效元素。 }#11应用选择器属性{只需单击即可添加“:hover”,“:first-child”,“:nth-​​child(10)”等属性。 就像在第8点提到CSS路径中一样,您可以将鼠标指针悬停在“ div.a”上并选择“:hover”选项,这将导致选择器显示为“ table.x div.a:hover span.x”。 }#12选择器列表{查看您创建的所有选择器的列表。 默认情况下,选择器以收缩模式列出。 您可以展开列表以查看完整列表。 }#13开启/关闭选择器{您可以在选择器列表中开启/关闭选择器,一次即可启用或禁用该选择器的所有属性,而不必开启/关闭该选择器的单个属性。 }#14克隆选择器{您可能希望复制选择器的属性,然后再次粘贴以将它们(通常进行一些小的更改)应用到其他选择器。 只需单击几下即可完成,所有这些属性都将应用于一个全新的选择器(元素集)。 }#15复制选择器{使用CTRL + C复制选择器。 我们可能已经访问了您的剪贴板以提供单击复制功能。 但是我们将无法访问您的剪贴板,因为剪贴板中可能包含敏感数据。 }#16打开/关闭mouseevents {Mouseover,mouseout,mouseenter等是一些鼠标事件,它们可能会妨碍CSS Brush的元素选择器。 我们转几下鼠标事件关闭,而选择为ON。 但是,如果要访问任何元素,则可以将它们设置为ON(仅当特定的鼠标事件为ON时才可见)。 }#17其他{选择器的名称,透明背景,颜色选择器是其他几项功能。 } / *#18将会有更多功能... * /修订摘要:================= 1.0.1:第一次升级1.0.2:错误修复-样式CSS Brush本身的版本1.0.3:Feature1-新的菜单元素{Rating,Support,Dondon}及其样式1.0.3:Feature2-带编号的单位(如px,em),使用向上/向下箭头键1.0.4进行增减:功能-选择器列表扩展/收缩功能1.0.5400:错误修复-CSS Brush本身的样式================== [注意:Google页
您可以按照以下方式封装一个select()函数: ```javascript function select(selector) { // 获取匹配元素 const elements = document.querySelectorAll(selector); // 返回一个对象,拥有对应的方法 return { html: function(content) { // 如果没有传参,则获取第一个元素的内容 if (!content) { return elements[0].innerHTML; } // 设置所有匹配元素的内容为传入的content elements.forEach(element => { element.innerHTML = content; }); // 返回修改后的对象 return this; }, css: function(style) { // 如果传入的是字符串,则获取第一个元素的对应样式值 if (typeof style === 'string') { return window.getComputedStyle(elements[0])[style]; } // 设置所有匹配元素样式为传入的style对象 elements.forEach(element => { Object.assign(element.style, style); }); // 返回修改后的对象 return this; }, click: function(eventHandler) { // 绑定点击事件 elements.forEach(element => { element.addEventListener('click', eventHandler); }); // 返回修改后的对象 return this; }, addClass: function(className) { // 添加指定class名 elements.forEach(element => { element.classList.add(className); }); // 返回修改后的对象 return this; }, removeClass: function(className) { // 删除指定class名 elements.forEach(element => { element.classList.remove(className); }); // 返回修改后的对象 return this; } }; } ``` 使用示例: ```javascript // 创建select对象 const obj = select("#myDiv"); // 链式调用方法,获取标签内容并设置样式 obj.html().css({ color: 'red' }); // 链式调用方法,绑定点击事件并删除指定class名 obj.click().removeClass('active'); ``` 请根据您的实际需求,完善相应的功能实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值