• Dom样式操作-属性操作


    1. 对样式进行操作:

    1) 以样式(C1,C2等)为最小单位进行修改。

    className,

    classList, (以列表形式获得)

      classList.add("C2"), classList.remove("C1")

    2) 以某个样式作为单位进行修改。(可以只修改颜色/字体/背景等,可以只修改C1下面的color属性。)  下面的例子就是增加/修改了style里面的fontSize属性。

    obj=document.getElementById("i1");

    obj.style.fontSize='16px';    obj.style.backgroundColor='red';

    在CSS中是以 font-size 的 "-" 来连接的,在JS中,把- 变成大写的字母开头就可以了。驼峰式命名。

    2.属性操作:

    对某个标签中的某个属性做操作。

    obj.setAttribute('XXXXXX','alex');

    obj.removeAttribute('value'); 去掉了value关键字-值

    obj.attributes 获取所有的属性。

    3.创建标签并添加到HTML中。

    1---字符串形式

    2---对象的方式 document.createElement('div')

    第1种创建标签的方法-实例:使用字符串的方法进行创建。参数传的是字符串。

    把新创建的标签添加到了当前i1标签的底部了。

    document.getElementById('i1').insertAdjacentHTML("beforeEnd",tag);


    坑:var tag="<input type='text'/>"; 如果'text'这里的单引号写成双引号,则程序会报错。

     正确写法如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <input type="button" onclick="AddEle();" value="+"/>
        <div id="i1">
            <input type="text"/>
        </div>
        <script>
            function AddEle(){
            //创建一个标签,将标签添加到i1里面
            var tag="<input type='text'/>";
            document.getElementById('i1').insertAdjacentHTML("beforeEnd",tag);
            }
        </script>
    </body>
    </html>
    

     运行结果:每点击一下,增加一个text文本框。

    4. <hr/> 是分割线

    注意:第一个参数只能是,这样就能实现把标签插入到不同的位置。

    'beforeBegin'、 'afterBegin'、 'beforeEnd'、 'afterEnd':分别代表大哥,小弟,第一个大儿子,最后一个小儿子

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <input type="button" onclick="AddEle();" value="+"/>
        <div id="i1">
            <input type="text"/>
            <hr/>
        </div>
        <script>
            function AddEle(){
            //创建一个标签,将标签添加到i1里面
            var tag="<input type='text'/><hr/>";
            document.getElementById('i1').insertAdjacentHTML("beforeEnd",tag);
            }
        </script>
    </body>
    </html>
    

     效果:

    5. 第2种创建标签的方法-实例:通过对象的方法来创建。参数传的是标签对象。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <input type="button" onclick="AddEle1();" value="+"/>
        <input type="button" onclick="AddEle2();" value="+"/>
        <div id="i1">
            <input type="text"/>
            <hr/>
        </div>
        <script>
            function AddEle1(){
            //创建一个标签,将标签添加到i1里面
            var tag="<input type='text'/><hr/>";
            document.getElementById('i1').insertAdjacentHTML("beforeEnd",tag);
            }
            function AddEle2(){
            //创建一个标签,将标签添加到i1里面
            var tag=document.createElement('input'); //创建了一个input标签
            tag.setAttribute('type','text');
            tag.style.fontSize='16px';
            tag.style.color='red';
            document.getElementById('i1').appendChild(tag);
            }
        </script>
    </body>
    </html>
    

     运行效果同上。

    6. 将input标签放到P标签里面了。在input标签的外面再包裹一个P标签。

    createElement:给父亲(当前标签)创建新标签。

    appendChild:给父亲(当前标签)增加儿子。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <input type="button" onclick="AddEle1();" value="+"/>
        <input type="button" onclick="AddEle2();" value="+"/>
        <div id="i1">
            <input type="text"/>
            <hr/>
        </div>
        <script>
            function AddEle1(){
            //创建一个标签,将标签添加到i1里面
            var tag="<input type='text'/><hr/>";
         //注意:第一个参数只能是"beforBegin","afterBegin","beforeEnd","afterEnd" document.getElementById('i1').insertAdjacentHTML("beforeEnd",tag); } function AddEle2(){ //创建一个标签,将标签添加到i1里面 var tag=document.createElement('input'); tag.setAttribute('type','text'); tag.style.fontSize='16px'; tag.style.color='red'; var p=document.createElement('p'); p.appendChild(tag); document.getElementById('i1').appendChild(p); } </script> </body> </html>

     运行结果:刚才设置的样式也已经生效了。

    7. 提交表单:

    <form>

      <input type="submit">

    </form>

    通过div标签也可以提交表单。把a标签换成div标签,借助于JS,也可以提交表单。任何标签通过DOM都可以提交表单。

    document.getElementById('form').submit()  实际上是获取了一下form表单里面的submit方法。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <form id="f1" action="http://www.oldboyedu.com">
            <input type="text"/>
            <input type="submit" value="提交"/>
            <a onclick="submitForm();">提交吧</a>
        </form>
        <script>
            function submitForm(){
                document.getElementById('f1').submit()
            }
        </script>
    </body>
    </html>
    

     运行结果,一点击就可以提交了。

    8. 其它

    console.log                 输出框
    alert                       弹出框
    v=confirm(信息)              确认框 点“确定”将返回true,点“取消”将返回false,可以在console.log(v)里面查看效果。
      
    // URL和刷新
    location.href               获取当前页面的URL
    location.href = "url"       重定向,设置新的URL,相当于跳转
    location.reload()           重新刷新
      
    // 定时器
    var obj=setInterval(function(),5000) 多次定时器(定时器一直执行)
    clearInterval(obj)                   清除多次定时器
    var obj2=setTimeout(function(){},4000) 单次定时器(定时器只执行一次)用于在指定的毫秒数后调用函数或计算表达式。 clearTimeout(obj2) 清除单次定时器

     示例1:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <input type="text"/>
        <script>
            alert(123);
        </script>
    </body>
    </html>
    

     效果:

    示例2:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <input type="text"/>
        <script>
            var v=confirm('真的要删除吗?');
            console.log(v);
        </script>
    </body>
    </html>
    

     效果图:v 代表的是返回值,如果点确定的话,v=true; 否则v=false;

    示例3

    location.href: 获取当前的url

    location.href="http://www.baidu.com"  跳转到新的页面

    location.href=location.href 或者 location.reload() 页面刷新

    9. var obj = setInterval( (function){  },5000); //定时器一直在执行

     clearInterval(obj); //把定时器清除了

     setTimeout(); // 定时器只执行一次  

    示例:执行一次就清除了。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <input type="text"/>
        <script>
            var obj=setInterval(function(){
            console.log(1);
            clearInterval(obj);
            },1000);
        </script>
    </body>
    </html>
    

     运行效果:

    setTimeout 示例1,代表5秒之后才执行console.log语句,而且只执行一次。

    10. setTimeout 示例2.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <div id="status"></div>
        <input type="button" value="删除" onclick="DeleteEle();"/>
        <script>
            function DeleteEle(){
            document.getElementById('status').innerText="已删除";
            setTimeout(function(){
                document.getElementById('status').innerText="";
            },2000);
            }
        </script>
    </body>
    </html>
    

     效果图:

    11. 在timeout到来之前,可以清除掉。clearTimeout.

    var a1=setInterval ( function( ){  },5000);

    clearInterval(a1);

    var a2=setTimeout( function( ){ },50000);

    clearTimeout(a2);

  • 相关阅读:
    (转载)PagerView实现翻页效果
    仿腾讯QQ的紫色下拉折叠菜单代码
    很漂亮的蓝色经典CSS导航菜单代码
    纯CSS实现简约大方灰紫色下拉菜单代码
    鼠标停留在菜单上会闪烁的导航菜单代码
    停在网页顶部可关闭的工具条代码
    JavaScript浮动的导航菜单代码
    深蓝渐变下拉菜单代码
    红色小方块单击爆炸式展开的菜单代码
    很漂亮的蓝色半透明水平下拉导航代码
  • 原文地址:https://www.cnblogs.com/momo8238/p/7448292.html
Copyright © 2020-2023  润新知