webAPIs-day01

84 阅读2分钟

一.获取元素-querySelector

   // 获取满足条件的第一个元素
      // 选择器:以前怎么写现在也怎么写:id,类,标签,属性选择,伪类选择器.....
      // let 元素对象 = document.querySelector('选择器')
      // 1.只能获取满足条件的第一个元素
      // 2.如果能够获取到则返回当前元素对象,这个对象可以直接进行dom对象,如果没有获取成功则返回null

二.获取元素-querySelectorAll

  // 获取页面中的所有的元素
    // querySelectorAll:可以获取满足条件的所有元素,返回一个伪数组
    // 这种伪数组不能做为dom元素直接操作
    // 伪数组中的每一个成员都是dom元素
    // 所有伪数组一般需要先遍历再使用

    // 如果获取失败,返回一个空的伪数组

三.获取元素补充说明

 <body>
    <ul class="nav">
      <li>我的首页</li>
      <li>产品介绍</li>
      <li>联系方式</li>
    </ul>

    <ul class="nav2">
      <li>我的首页2</li>
      <li>产品介绍3</li>
      <li>联系方式4</li>
    </ul>
    <script>
      // 获取nav2下面的所有的li元素
      // let lis = document.querySelectorAll('.nav2 li')
      // console.log(lis)

      // 先获取nav2元素,再获取它的li元素
      let nav2 = document.querySelector('.nav2')
      console.log(nav2)
      // 结论:也可以通过某个dom元素对象调用query....方法
      let lis = nav2.querySelectorAll('li')
      console.log(lis)
    </script>
  </body>
  

四.其它获取元素的api

<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>
  <input type="text" value="内容" />

  <script>
    // 获取所有拥有类样式名称为mya的元素    了解一下就好啦
    let allA = document.getElementsByClassName('mya')
    console.log(allA)

    let allSpan = document.getElementsByTagName('span')
    console.log(allSpan)

    // 如果id重复也只能获取到第一个
    let myh2 = document.getElementById('myh2')
    console.log(myh2)
  </script>
</body>

五.元素的内容的获取

button.addEventListener('click', function () {
      // 修改内容,设置内容和删除内容都是相同的操作
      // span.innerHTML = ''
      // 获取标签之间的内容
      // 在js中,对于属性的使用,没有赋值就是取值
      // innerText在获取标签之间的内容时,只能获取到文本内容,过滤掉标签结构
      console.log(h2.innerText)
      // innerHTML在获取标签之间内容的时候,可以获取到完整的html结构
      console.log(h2.innerHTML)
    })

innerText在获取标签之间的内容时,只能获取到文本内容,过滤掉标签结构; innerHTML在获取标签之间内容的时候,可以获取到完整的html结构

六.元素的属性赋值

 // 获取元素
      let button = document.querySelector('button')
      let p = document.querySelector('p')
      let img = document.querySelector('img') 
      let input = document.querySelector('input')

      button.addEventListener('click', function() {  //核心
        // 元素.属性的操作方式只适用于  内置属性
        // 内置属性:元素本身拥有的属性
        // p.idd = '我是p元素'
        // img.src = './images/1.jpg'

        input.value = '这是默认值'
      })

七.单击显示不同的图片

<body>
  <button>单击随机显示图片</button>
  <img src="" alt="" />

  <script>
    // 1.获取元素
    let button = document.querySelector('button')
    let img = document.querySelector('img')

    // 2.为按钮绑定单击事件
    button.addEventListener('click', function () {
      // 每次单击按钮,都要重新生成随机数,生成一个 1-4之间的随机数,包含1也包含4
      let index = parseInt(Math.random() * 4) + 1
      img.src = `./images/${index}.jpg`
    })
  </script>
</body>

八.元素的样式操作-style

<body>
  <button>加啊</button>
  <p>我是p元素,我可以动态添加样式</p>
  <script>
    let button = document.querySelector('button')
    let p = document.querySelector('p')

    // 为按钮绑定单击事件
    button.addEventListener('click', function () {
      // 元素的style是用于设置行内样式
      // 我们可以设置多个样式属性
      // style是所有样式集合,它是一个对象,所以我们是为style对象中的某个样式属性进行赋值
      // 语法: 元素.style.样式属性 = '样式值 '
      // console.log(p.style)
      p.style.color = 'red'
      // 如果样式属性值需要单位,那么在设置的时候也要带单位
      // p.style.fontSize = '40px'   //妥
      p.style['font-size'] = '40px'  //不妥
      p.style.textDecoration = 'line-through'
    })
  </script>