JavaScript(WebAPI)

WebAPI 包含了 DOM + BOM. 

DOM API: 操作页面结构

BOM API: 操作浏览器

DOM 树

一个页面的结构是一个树形结构, 称为 DOM 树. 

获取元素

querySelector

1、 表示文档中与指定的一组CSS选择器匹配的第一个元素的 html元素Element对象. 

2、如果您需要与指定选择器匹配的所有元素的列表,则应该使用querySelectorAll()

  例如 .box 是类选择器, #star 是 id 选择器 等. 

<div class="box">abc</div>
<div id="id">def</div>
<h3><span><input type="text"></span></h3>
<script>  
    var elem1 = document.querySelector('.box'); 
    console.log(elem1);
    var elem2 = document.querySelector('#id'); 
    console.log(elem2);  
    var elem3 = document.querySelector('h3 span input');  
    console.log(elem3);
</script>
<div class="box">abc</div>
<div id="id">def</div><script>  
   var elems = document.querySelectorAll('div');
   console.log(elems);
</script>

querySelectorAll

使用 querySelectorAll 用法和上面类似. 

事件驱动

明确发生某件特殊含义行为时,执行某个动作

事件:点击(click)、鼠标滑过(hover)

事件源:按钮(button)

:on

<button id="btn">点我一下</button>
<script>  
   var btn = document.getElementById('btn'); 
   btn.onclick = function () {
        alert("hello world");   }
</script>

btn 按钮就是事件源.

点击就是事件类型

function 这个匿名函数就是事件处理程序

其中 btn.onclick = function() 这个操作称为 注册事件/绑定事件

获取/修改元素内容

1. innerText

Element.innerText 属性表示一个节点及其后代的“渲染”文本内容

不识别 html 标签. 是非标准的(IE发起的). 读取结果不保留html源码中的 换行 和 空格. 

<div>  
   <span>hello world</span> 
   <span>hello world</span>
</div>
<script>  
  var div = document.querySelector('div'); 
   // 读取 div 内部内容   
 console.log(div.innerText); 
   // 修改 div 内部内容, 界面上就会同步修改
 div.innerText = 'hello js <span>hello js</span>';
</script>

 通过 innerText 无法获取到 div 内部的 html 结构, 只能得到文本内容. 修改页面的时候也会把 span 标签当成文本进行设置.

2. innerHTML

Element.innerHTML 属性设置或获取HTML语法表示的元素的后代.

识别 html 标签. W3C 标准的. 读取结果保留html源码中的 换行 和 空格. 

<div>  
  <span>hello world</span> 
   <span>hello world</span>
</div>
<script> 
   var div = document.querySelector('div'); 
   // 读取页面内容  
  console.log(div.innerHTML);  
  // 修改页面内容  
  div.innerHTML = '<span>hello js</span>'
</script>

innerHTML 不光能获取到页面的 html 结构, 同时也能修改结构. 并且获取到的内容保留的空格和换行.

获取/修改表单元素属性

表单(主要是指 input 标签)的以下属性都可以通过 DOM 来修改

value: input 的值.

disabled: 禁用

checked: 复选框会使用

selected: 下拉框会使用

type: input 的类型(文本, 密码, 按钮, 文件等)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值