JS DOM、操作DOM、DOM样式、DOM节点属性

1.DOM基础:

 <div id="dom1">我是DOM</div>

    <div class="dom2">我是DOM2</div>

    <div class="dom3">我是DOM3</div>

    <!-- 通过id属性获取对象 -->

    <script>

     /*  document.getElementById('dom1') */

     /* 通过标签名获取对象 */

     console.log(document.getElementsByTagName('div')[2]);

     /* 获取是集合 */

     /* 可通过下标来获取 */

     console.log(document.getElementsByClassName('dom2'));


     /* 通过querySelector获取含有指定class选择器的元素,含有相同class元素很多但是只获取第一个 */

     document.querySelector('.class')

     document.querySelector('#dom2')

     console.log(document.querySelectorAll);

     /* 获取一个集合 */


    </script>

2.操作DOM:

<button onclick="fn()">点我试试</button>

    <div id="dom1"><img datasrc=""></div>

    <script>

        /* 按钮点击玩之后,整个文档会被修改 */

        function fn(){

            /* document.getElementById('dom1').innerHTML = '平安夜平安'; */

            /* 直接写dom1也可以获取但是不推荐 */

            /* dom1.innerHTML = 'HELLO' */

            /* innerHTMl会替换原来的内容 */

            /* let d = document.getElementById('dom1');

            d.innerHTML = "<h1>hello</h1>" */

            /* innerText只会把文字显示在对应区域,不会转义标签元素 */

            /* document.querySelector('#dom1').innerText = '123456' */

            /* 使用document.querySelector可以使用后代选择器 */

            /* 宽高不可以使用px */

        let img =  document.querySelector('#dom1 img').src = 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201901%2F12%2F20190112211236_PLfRe.jpeg&refer=http%3A%2F%2Fb-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1642904320&t=f3555475d062adc7fc0042367b842373'

        }

        console.log(img.src);

        document.querySelector('#dom1 img').width = '200'

        document.querySelector('#dom1 img').height = '200'

        img.datasrc = '123'

        /* dom元素设置值只能设置自身本来就有的属性 */


    </script>

操作DOM练习:

<button onclick="fn()">点我</button>

    <h1 id="qd">前端 YYDS</h1>

    <h1 id="qd">前端 YYDS</h1>

    <h1 id="qd">前端 YYDS</h1>

    <script>

        function fn(){

        /* let q = document.getElementsByClassName('qd') */

        /* 通过集合方式修改不了 */

        let q = document.getElementsByClassName('qd');

        for(var i=0;i<=q.length;i++){

            q[i].innerHTML = '<h1>das </h1>'

        }

        let q = document.getElementById('qd');

        q.innerHTML = '<h2>前端 yyds</h2>'

        }

    </script>

3.DOM样式:

    <div id="app" style="background-color: red;">

    </div>

    <script>

        let div = document.getElementById('app');

        /* div含有style行内样式属性

        所以需要在style上写宽高属性 在style上填写宽高必须要加上单位px */

        div.style.width = '200px'

        div.style.height = '200px'

        div.style.marginTop = '100px'

        /* 带-要用驼峰命名法 */

        /* %是相对于父元素而设置的 */

        /* px是物理元素,是相对于屏幕而言 */

        /* div.style.width = '10%'

        div.style.height = '10%' */

        /* div元素自身没有width和height属性,所以不能直接设置 */

        /* div.width = '200'

        div.height = '200' */

    </script>

DOM样式练习:

<!-- 有一个div width50px height 是50px 蓝色 点击这个div 宽高 都调整100*100

    点击后变红色 -->

    <div id="a" style="width: 50px; height: 50px; background-color: blueviolet;" onclick="fn()"></div>

    <script>

         function fn(){

        let div = document.getElementById('a');

        div.style.width = '100px'

        div.style.height = '100px'

        div.style.background = 'red'

        div.style.transition = 'all 2s linear 0.5s';

        }

    </script>

4.DOM节点属性:

<div>

        <h1>我是h1</h1>

        <ul>

            <li>我是li</li>

        </ul>

        <h2>我是h2</h2>

    </div>

    <script>

        /* let li = document.querySelector('li') */

        /* 返回父节点是ul */

        /* console.log(li.parentNode); */

        let div = document.querySelector('div');

        /* 只返回子节点 如果存在空格或者换行也会被算成一个子节点 */

        console.log(div.childNodes);

        /* 获得ul */

        /* div.childNodes[3] */

        console.log(div.firstChild);

        /* 返回第一个子节点 */

        console.log(div.lastChild);

        /* 返回最后一个子节点 */

        console.log(div.firstChild.nextSibling);

        /* 下一个子节点 */

        console.log(div.lastChild.previousSibling);

        /* 上一个子节点 */

        console.log(div.firstElementChild);

        /* 返回节点的第一个子节点,高版本的浏览器才能识别

        Element忽略空格和换行直接获取元素节点 */

    </script>

DOM节点属性练习:

<div>

        <h1>我是h1</h1>

        <ul>

            <li>我是li</li>

        </ul>

        <h2>我是h2</h2>

    </div>

    <script>

         /* <!--练习1 选择器找到li 通过查找父节点的方式把父节点background变红色 --> */

        /* let li = document.querySelector('li'); */

        /* li.parentNode.style.background = 'red' */


        let div = document.querySelector('div');

        /* 练习2    通过选择器 选择到div

        通过div 来找h1 ,把h1改成背景红色,字体大写变成20px

        通过div 来找ul  ,把ul改成背景色是绿色

        通过div 来找到h2, 把h2宽度改成200px 高度变成100px

        背景色改成蓝色*/

        /* div.childNodes[1].style.background = 'red'

        div.childNodes[1].style.fontSize = '20px'

        div.childNodes[3].style.background = 'green'

        div.childNodes[5].style.background = 'blue'

        div.childNodes[5].style.width= '200px'

        div.childNodes[5].style.height= '100px' */

        /*练习3      获得div 元素 通过使用firstChild 和 nextSibling

        的方式把 ul 的color 属性变成红色

        获得 div元素 通过使用lastChild 和 previSib的方式 把h2的font-size属性变成 50px*/

        div.firstChild.nextSibling.nextSibling.nextSibling.style.background = 'red'

        div.lastChild.previousSibling.style.fontSize = '50px'

    </script>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • DOM基础 我是DOM1 我是DOM2 我是DOM2 //通过id属性获取对象 /...
    冲锋敢死曾小贤阅读 116评论 0 0
  • js语言学习 1.基本概念: 1.js是区分大小写的 2.标识符命名规则: 第一个字符必须是一个字母、下划线(_)...
    NSQAQ阅读 1,242评论 1 17
  • <!DOCTYPE html> Leon 序号 姓名 年龄 性别 ...
    小胖子_d7d8阅读 186评论 0 0
  • 十五、焦点事件&键盘事件 1. 焦点事件 onfocus =>获得焦点事件 onblur=>失去焦点事件 <...
    默默_01cf阅读 191评论 0 0
  • JavaScript中Dom 1.基本概念 1.1 什么是window? window:是一个全局对象, 代表浏览...
    煤球快到碗里来阅读 246评论 0 0