WebAPI的DOM简单小结

109 阅读1分钟

什么是WebAPI

应用编程接口(Application Programming Interface)简称API。

什么是DOM

image.png

image.png

image.png

image.png

image.png

DOM对象

image.png

获取DOM对象

1.根据css选择器来获取dom对象,如果没有获取成功,就返回null.

语法:document.querySelector('css选择器')

image.png

<body>
<div>
    <span>span</span>
    <span>我也是span</span>
    <a href="" class="mya">我是a</a>
    <h2 id="myh2">我是h2</h2>
  </div>
  <script>
  let doms = document.querySelector('a')
   doms.style.color = 'red'
 //  console.log(doms);
  //也可以使用类名选择,一定要加.  不然会报错
   let mode = document.querySelector('.mya')
    mode.style.color = '#0a0'
    console.log(mode);
  
  </script>
    </body>

1-2.选择多个元素, 语法document.querySelectorAll('css选择器')

image.png

<body>
  <div>
    <span>span</span>
    <span>我也是span</span>
    <a href="" class="mya">我是a <span>广州黑马程序员中心</span></a>
    <h2 id="myh2">我是h2</h2>
  </div>
  <span>我还是span</span>

  <script>
    // document.querySelectorAll('选择器'),获取所有满足条件的元素
    let spans = document.querySelectorAll('span')
    //  此时spans是伪数组,要操作元素需要遍历
    for (let i = 0; i < spans.length; i++) {
      spans[i].style.color = '#0a0'
    }
    // console.log(spans);
    //document.querrySlector('选择器'),可以直接操作元素
 //   let h2 = document.querySelector('#myh2')

  //  h2.style.color = 'red'
  </script>
</body>

哪怕只有一个元素,通过querySelectorAll获取来的也是一个伪数组,里面只有一个元素而已

2.其他获取DOM元素方法

<body>
  <span class="mya">span</span>
  <span>我也是span</span>
  <a href="" class="mya">我是a</a>
  <a href="" class="mya">我也是a</a>
  <h2 id="myh2">我是h2</h2>
  <h2 id="myh2">我也是h2</h2>

  <script>
    // 通过id获取元素,不用加#号
    //docunment.getElementById('nav')
    let myh2 = document.getElementById('myh2')
    
    //根据标签获取一类元素,获取页面所有div
    document.getElementsTagName('div')
    //根据类名获取元素,获取页面中所有类名为w的
    document.getElementsByClassName('w')
  </script>
</body>

注意,小括号里面写css选择器,必须是字符串,也就是必须加引号

设置/修改DOM元素

image.png

//永远都指示追加操作,且只能位置</body>结束标签前
document.write('Hello World!');
document.write('<h3>你好,世界!</h3>')

image.png

<body>
    <div id="info"></div>
    <script>

        //innerText 将文本内容添加/更新到任意标签位置
        let info = document.getElementById('info')
        //intro.innerText = '你好,你好'
        info.innerText = '<h4>你好,你好</h4>'
        console.log(info);
 //此时页面打印出的是<h4>你好,你好</h4>,html标签不能被解析     
    </script>
</body>

image.png

//.innerHTML,为元素设置标签之间的文本内容,会解析标签
 span.innerHTML = '<em>干啥呢</em>'
 //会解析标签。干啥呢是斜体的
  <style>
    span {
      display: block;
      width: 100px;
      margin-top: 100px;
      padding: 10px 20px;
      border: solid #f00 1px;
      text-align: center;
    }
  </style>
</head>

<body>
  <button>随机抽取</button>
  <span>这是渲染位置</span>
  <script>
  //随机点名
    let names = ['杰哥', '彬彬', '阿伟', '华强', '瓜摊老板']
  
    // 获取元素才能赋值
    let btn = document.querySelector('button')
    let span = document.querySelector('span')
     // 为按钮添加单击事件
    btn.addEventListener('click', function () {
      /* 生成随机索引, */
      let i = parseInt(Math.random() * names.length)
      // 根据索引获取姓名
      let name = names[i]
      // 将姓名渲染到知道元素中
      span.innerText = name
    })
    // console.log(span);

  </script>
</body>

设置/修改DOM元素属性

image.png

image.png 语法:对象.属性 = 值

//`1.获取元素
let pic = document.querySelector('img')
//2.操作元素
pic.src = '图片路径'
pic.title = '这是一个图片'

2.设置/修改元素样式属性

image.png

语法:对象.style.样式属性 = 值

<body>
  <button>加啊</button>
  <p>我是p元素,我可以动态添加样式</p>
  <script>
    // 取元素
    let btn = document.querySelector('button')
    let p = document.querySelector('p')
    // 单击按钮
    btn.addEventListener('click', function () {
      // 给p元素加颜色,和字体大小
      p.style.color = 'red'
      p.style.fontSize = '22px'
    })
  </script>
</body>

注意:

1.修改样式通过style属性引出

2.如果属性有-连接符,需要转换为小驼峰命名法

3.赋值的时候,需要时不用忘记加css单位,如px等

就先这样吧