Dom修改元素样式

提纲:我们可以通过js来修改元素的大小,颜色,位置等样式

1.element.style                         行内样式的操作

2.element.className              可以获取元素的class名称

3.element.setAttribute("type","button");                获取元素修改元素的行内样式

4.insertRule(rule,index)       .document.styleSheets[0]用来获取外部样式表! 使用myStyle.insertRule在外部样式表中插入styleCss规则

定义和用法insertRule() 方法在样式表中插入一条规则。返回值参数 index 的值。addRule() 方法向样式表插入一条规则,该方式是特定于 IE 的方法。

参数 描述
rule
必需。要添加到样式表的规则的完整的、可解析的文本表示。

  • 对于规则集(rule sets),rule 指示选择器和样式声明。
  • 对于 @ 规则(At rules),rule 指示 @ 标识符和规则内容。
index 必需。要把规则插入或附加到 cssRules 数组中的位置。

5. addRule(selector,style,index).document.styleSheets[0]用来获取外部样式表!使用addRule修改伪类外部cssStyle的样式

描述该方法在样式表的 rules 数组的指定 index 处插入(或附加)一条新的 CSS 样式规则。这是标准 insertRule() 方法的特定于 IE 的替代。

参数 描述
selector 必需。规则的 CSS 选择器。
style
必需。应用于匹配该选择器的元素的样式。

这个样式字符串是一个分号隔开的属性:值对的列表。并没有使用花括号开始或结束。

index
可选。规则数组中插入或附加规则的位置。

如果这个可选参数被省略掉,则新的规则会增加到规则数组的最后。

一.element.style 获取元素进行内样式的操作

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style type="text/css">
        div{
            width: 200px;
            height: 200px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div id="a1"></div>
    <script type="text/javascript">
        var a1 = document.getElementById("a1")
        a1.onclick = function(){
            a1.style.backgroundColor = "blue";
        }
    </script>
</body>
</html>

点击过后改变style的样式是因为style的内联权重比外联样式的权重高所以会改变

二.element.className类名样式操作可以获取到element中的class="类名"

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body id="myid" class="mystyle">

<script>
var x=document.getElementsByTagName(‘body‘)[0];
document.write("Body 元素 CSS 类为: " + x.className);
document.write("<br>");
document.write("另一种方式: ");
document.write(document.getElementById(‘myid‘).className);
</script>

</body>
</html>

三四五.方法都写在下方同一个例子之中看一看实际中该如何运用!(微信红心点赞效果)

下面是代码:用css创建一个红心然后利用dom添加样式!

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
    <style type="text/css">
        div{
            position:relative;
            margin:200px auto;
            width: 300px;
              height:270px;
              /*background: red;*/
              animation: mymove 1s linear;
        }
        div:before
        {
            content: "";
            position: absolute;
            left: 150px;
              width: 150px;
              height: 240px;
              background: blue;
              border-radius: 150px 150px 15px 15px;
              transform-origin: 0 100%;
            transform: rotate(-45deg);

        }
        div:after{
            content: "";
            position: absolute;
            left: 0px;
              width: 150px;
              height: 240px;
              background: blue;
              border-radius: 150px 150px 15px 15px;
              transform-origin: 100% 100%;
            transform: rotate(45deg);

        }

    </style>
</head>

<body>
    <div id="a1" class="a"></div>

    <script type="text/javascript">
//        获取到外部css中的样式需要后面添加[数组]用来准确的获取哪一个外部样式
        var a1 = document.styleSheets[0];
        var id = document.getElementById("a1")
        document.onclick = function(){
//            这个方法用于给element添加行内样式(内嵌样式)
            id.setAttribute("style","border:10px solid pink;");
//            这个方法用于操纵外部样式表中的选择器 并且也可以改变外部样式表伪类选择器里面的值,注意!外部样式权重比例要低于内联样式
            a1.addRule(‘div::before‘,‘background: green; color:red; ‘);
            a1.addRule(‘div::after‘,‘background: green; color:red; ‘);
//            insertRule方法可以在外部样式表中添加一条Css规则
            a1.insertRule("@keyframes mymove{0%{transform: scale(1);}50%{transform: scale(1.2);opacity: 0.8;}100%{transform: scale(1);}}",3);
        }
    </script>
</body>
</html>

这个是点击之后的效果并带有动画!

为了方便将例子都写在一起了QAQ希望大家支持

原文地址:https://www.cnblogs.com/niuyaomin/p/11774821.html

时间: 2024-10-07 18:06:50

Dom修改元素样式的相关文章

DOM访问元素样式和操作元素样式

在HTML中定义样式的方式有三种:通过<link/>元素包含外部样式表文件(外部样式表).使用<style/>元素定义嵌入式样式(嵌入式样式表).使用style特性定义针对特定元素的样式(内联样式表). 要确定浏览器是否支持DOM2级定义的css的能力可以用 document.implementation.hasFeature("css2","2.0");//支持返回true,不支持返回false 1.访问元素样式 任何支持style特性的h

D-1修改元素样式

document.ElementById("id").style.样式="": 例子: ·document.ElementById("id1").style.display="none"; 原文地址:https://www.cnblogs.com/stone5/p/9055528.html

whistle——真机移动端页面调试【查看、修改真机端的页面DOM结构及样式】

1.查看.修改真机端的页面DOM结构及样式[参考——https://imweb.io/topic/5981a34bf8b6c96352a59401]: 1.0.需要配置的rule——域名 weinre://随便某个分类命名[如:wq.jd.com weinre://test2——test2只是作为weinre的分类,防止一个weinre调试页面出现太多的连接]: 1.1.真机上访问某个页面,如访问微信下的发现>购物页面: 1.2.点击weinre下的,刚创建的分类test2,跳到http://1

html2canvas根据DOM元素样式实现网页截图

html2canvas根据DOM元素样式实现网页截图 html2canvas是一个相当不错的JavaScript类库,它使用了html5和css3的一些新功能特性,实现了在客户端对网页进行截图的功能.html2canvas通过获取页面的DOM和元素的样式信息,并将其渲染成canvas图片,从而实现给页面截图的功能. 它不需要来自服务器任何渲染,整张图片都是在客户端浏览器创建.当浏览器不支持Canvas时,将采用Flashcanvas或ExplorerCanvas技术代替实现.以下浏览器能够很好的

JS获取元素、修改元素/css样式/标签属性、简单事件、数据类型

基本使用 写在Script 标签里 引入外部js文件:<script src=" "></script> console.log(" ") 方法用于在控制台输出信息 注意事项 严格区大小写 每一行完整语句后面加分号 变量名不能使用关键字和保留字 代码要缩进,保持可读性 修改元素内容 获取元素 通过id获取元素:document.getElementById(""); 通过class名字获取元素:document.getEl

JavaScript之jQuery-3 jQuery操作DOM(查询、样式操作、遍历节点、创建插入删除、替换、复制)

一.jQuery操作DOM - 查询 html操作 - html(): 读取或修改节点的HTML内容,类似于JavaScript中的innerHTML属性 文本操作 - text(): 读取或修改节点的文本内容,类似于JavaScript中的textContent属性 值操作 - val(): 读取或修改节点的value属性值,类似于 JavaScript 中的value值 属性操作 - attr(): 读取或者修改节点的属性 - removeAttr(): 删除节点的属性 二.jQuery操作

JS-002-JavaScript 操作常见 web 元素之二-修改元素属性(以按钮示例)

此文以修改 button 元素属性(例如:添加属性.修改属性.修改颜色样式.边框样式等)为简单示例,演示 js 修改 HTML 元素属性的基本方法,敬请参阅.若有不足之处敬请指正,不胜感激! 多不闲述,就此上码. HTML 源码如下所示: 1 <html> 2 <head> 3 <meta charset='utf-8'> 4 5 <title>JS-002-JavaScript 操作常见 web 元素之二-修改元素属性(以按钮示例)</title&g

jQuery筛选器及对DOM修改(学习笔记)

1.jQuery筛选器 注意:请先在管理Nuget程序包中查找jQuery包,并安装.也可以在jQuery官网下载. 实现: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; char

JS 操作Dom节点之样式

为了提高用户体验,我们经常会动态修改Dom节点的样式,各种浏览器差异比较大,我们如何应对?不断尝试,不断总结~! 1. style.getComputedStyle.currentStyle 内嵌样式: <!--body --><div style="width: 30px;background-color: #ff6a00;">我就是傻里傻气的,完全素颜!</div> 1 //内联样式优先级最高,通过style获取的样式是最准确的 2 var el