JavaScript WebAPI
半夏而凉 人气:0什么是WebAPI
WebAPI就是 DOM API + BOM API
DOM
W3C标准给我们提供了一系列的函数,让我们可以操作:网页内容、网页结构、网页样式、
一个网页的页面结构如:
<html>
<head>
<title> 标题 </title>
</head>
<body>
<a href=" ">链接</a>
<h1>我的标题</h1>
</body>
</html>
几个重要概念:
- 文档: 一个页面就是一个 文档, 使用 document 表示.
- 元素: 页面中所有的标签都称为 元素. 使用 element 表示.
- 节点: 网页中所有的内容都可以称为 节点(标签节点, 注释节点, 文本节点, 属性节点等)使用 node 表示.
获取元素
类似于CSS选择器的功能
querySelector
var elem = document . querySelector ( selectors );
querySelectorAll
<div class="box">abc</div> <div id="id">def</div> <script> var elems = document.querySelectorAll('div'); console.log(elems); </script>
事件
事件三要素
1. 事件源 : 哪个元素触发的
2. 事件类型 : 是点击 , 选中 , 还是修改 ?
3. 事件处理程序 : 进一步如何处理, 往往是一个回调函数 .
操作元素
获取/修改元素内容
innerText
使用示例:
<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>
innerHTML
Element.innerHTML 属性设置或获取 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>
获取/修改元素属性
//修改属性 <img src="rose.jpg" alt="这是一朵花" title="玫瑰花"> <script> var img = document.querySelector('img'); img.onclick = function () { if (img.src.lastIndexOf('rose.jpg') !== -1) { img.src = './rose2.png'; } else { img.src = './rose.jpg'; } } </script> //获取属性 <img src="rose.jpg" alt="这是一朵花" title="玫瑰花"> <script> var img = document.querySelector('img'); // console.dir(img); console.log(img.src); console.log(img.title); console.log(img.alt); </script>
获取修改表单元素属性
表单 ( 主要是指 input 标签 ) 的以下属性都可以通过 DOM 来修改
- value: input 的值.
- disabled: 禁用
- checked: 复选框会使用
- selected: 下拉框会使用
- type: input 的类型(文本, 密码, 按钮, 文件等)
代码示例:
<input type="button" value="播放"> <script> var btn = document.querySelector('input'); btn.onclick = function () { if (btn.value === '播放') { btn.value = '暂停'; } else { btn.value = '播放'; } } </script>
加载全部内容