JavaScript 之 web API
1、获取元素
document.getElementById('标签的id值');
document.getElementsByTagName('标签名');
document.getElementsByClassName('标签的类名');
document.getElementsByName('标签的name值');
document.querySelector('选择器'); // 可以传多种 'ul li.active'
document.querySelectorAll('选择器');
2、操作元素
操作非表单元素
id title href src className innerHTML innerText
表单元素
value checked disable selected readOnly
操作自定义标签的属性
用户根据需求,自己给标签添加的自己定义的标签属性
<img src='wc.jpg' bigImg='bigWc.jpg' />
<!--bigImg='bigWc.jpg' 就是用户自定义的标签属性-->
操作方式:
节点对象.getAttribute('属性名')
节点对象.setAttribute('属性值','值')
节点对象.removeAttribute('属性值','值')
注意:自定义标签属性的操作只能够通过元素的getAtrribute、setAttribute、removeAttribute提供的方法操作。 不能直接通过元素点的方式直接获取或设置
3、操作元素样式
3.1、通过元素的style属性操作
var box = document.getElementById('box');
box.style.width = '100px';
box.style.height = '100px';
box.style.backgroundColor = 'red'; // css→ background-color js→ backgroundColor
通过样式属性设置宽高、位置的属性类型是字符串,需要加上px。**
3.2、通过设置元素的className属性操作
var box = document.getElementById('box');
box.className = 'aa bb';//设置
box.className.replace('aa','AA');//替换
注意:元素的style属性适合操作单个样式,而元素className适合操作一组样式
4、节点之间的关系
元素节点.parentNode
节点.childNodes (包括文本节点和元素节点)
节点.children (仅仅是元素节点)
父节点.firstChild;
// 获取第一个元素子节点对象,有兼容问题IE9以下不支持:
父节点.firstElementChild
父节点.lastChild
// 获取最后一个元素子节点对象,有兼容问题IE9以下不支持
父节点.lastElementChild
节点.previousSibling;
// 获取上一个同级的元素节点,有兼容问题IE9以下不支持
节点.previousElementSibling;
节点.nextSibling;
// 获取下一个同级的元素节点,有兼容问题IE9以下不支持
节点.nextElementSibling;
5、动态创建、追加、删除元素
document.write('<h2>我是标题</h2>');
ul.innerHTML = ul.innerHTML + '<li><a href="#">我是新的li</a></li>';
var a = document.createElement('a');
父节点.appendChild(新的子节点);
父节点.insertBefore(新的节点,旧的子节点)
父节点.removeChild(子节点)
父节点.replaceChild(新的节点,旧的子节点)
6、事件
事件源.事件类型 = 事件处理程序
/*
功能:给元素注册事件
参数:
事件类型 字符串 注意:事件名不加on 如 'click'
事件处理程序 函数
是否捕获:可选,默认为false
*/
事件目标.addEventListener(事件类型,事件处理程序,是否捕获);
/*
功能:移除元素的指定事件程序
参数:
事件类型 字符串 注意:事件名不加on 如:'click'
事件处理程序:函数 注意:这里要把函数名传入过来
*/
事件目标.removeEventListener(事件类型,事件处理程序名称);
7、事件对象的公共属性和方法
事件对象.type -- 获取当前的事件名
事件对象.target -- 获取事件目标里最先触发事件的元素
事件对象.preventDefault() -- 阻止事件默认行为的执行
事件对象.stopPropagation() -- 停止冒泡
8、鼠标事件对象的属性
事件对象.clientX / 事件对象.clientY -- 鼠标在浏览器可视区域中的坐标
事件对象.offsetX / 事件对象.offsetY -- 获取鼠标在指定的元素的区域中的坐标
事件对象.pageX / 事件对象.pageY -- 获取鼠标在整个文档区域中的坐标
9、键盘事件对象的属性
事件对象.altKey -- 检测是否按下键盘上的 Alt键。 按下返回 true
事件对象.ctrlKey -- 检测是否按下键盘上的 Ctrl键。 按下返回 true
事件对象.shiftKey -- 检测是否按下键盘上的 Shift键。 按下返回 true
事件对象.keyCode -- 返回被敲击的键生成的 Unicode 字符码(ascii码),返回ascii码表对应的十进制的数字
10、事件委托
原理就是目标元素和事件冒泡,把事件注册到父元素或父级以上的元素上,等待子元素事件冒泡,并且在父元素或父级以上的元素注册的事件中能够 通过事件对象.target判断是哪个子元素,从而做相应处理。
① 给目标元素的父元素或父级以上的元素注册事件
② 在父元素或父级以上元素注册的事件中通过 事件对象.target判断是哪个子元素
③ 根据判断做出处理。
优点:提高程序性能,可以代理新动态添加的元素的事件。
// 获取div元素
var divNode = document.getElementById('box');
divNode.onclick = function(e){
// 获取最先触发的元素节点
var node = e.target;
// 节点对象.tagName 获取节点对象对应的标签名 返回的是大写
if(node.tagName.toLowerCase()=='p'){
alert(node.innerHTML);
}
}
JavaScript 之 web API的更多相关文章
- DOM,javascript,Web API之间的关系——onclick 引起的思考与调研
平时习惯了用js操作dom树来与html页面进行交互,基本都是通过web API接口实现的,最近看闭包和原生js的知识点比较多,昨天无意中看到了onclick中的this指向问题,遂用native j ...
- [ASP.NET MVC 小牛之路]18 - Web API
Web API 是ASP.NET平台新加的一个特性,它可以简单快速地创建Web服务为HTTP客户端提供API.Web API 使用的基础库是和一般的MVC框架一样的,但Web API并不是MVC框架的 ...
- 【转载】ASP.NET MVC Web API 学习笔记---第一个Web API程序
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...
- 创建Web API
引言 在公司中用到的都是webAPI的应用程序,这个东西之前没有接触过.但是这个并不是什么新鲜的东西,因我们 之前有mvc的基础,所以说学习这个东西还是比较容易的,在开始的时候自己可能突然蒙圈了.因为 ...
- ASP.NET MVC Web API 学习笔记---Web API概述及程序示例
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序【转】
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html 1. Web API简单说明 近来很多大型的平台都公开了Web API. ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序---近来很多大型的平台都公开了Web API
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- JavaScript跨域调用、JSONP、CORS与ASP.NET Web API[共8篇]
[第1篇] 同源策略与JSONP 浏览器是访问Internet的工具,也是客户端应用的宿主,它为客户端应用提供一个寄宿和运行的环境.而这里所说的应用,基本是指在浏览器中执行的客户端JavaScript ...
随机推荐
- 原生JS 实现 dom ready
记录一下项目技术问题: 记得:放在head标签内的脚本,第一时间执行 var baseTools = { // dom ready ready: function( f ){ var ie = !!( ...
- Spring入门之四-------SpringIoC之其他知识点
一.懒加载 public class Bean1 { public Bean1() { System.out.println(this.getClass().getSimpleName() + &qu ...
- fiddler 限速方法
1.使用的软件下载地址: \\192.168.100.2\共享软件\开发常用\flash_team\工作软件\fiddler2setup.exe 2.注意事项 测试是,在ie浏览器环境下测试 3.软件 ...
- js使用new操作符创建对象
转 在编写js代码时,我们有时会需要使用函数来模拟java中的类,并用它来产生对象,在定义了一个构造函数之后我们需要使用new操作符来调用调用函数才能得到我们想要的对象.例如: function Co ...
- Django——优美的Path()函数
path( )作用:解析URL地址 path( ) 标准语法: (<>为必须的参数,[]为可选参数) path(<route>, <view>, [name=Non ...
- 留学Essay写作常见谬误盘点
留学生在完成英语论文作业的时候总会出现各种各样的谬误,导致最后拿不到高分,甚至挂科,最终只得选择写作完成.本文小编为大家总结出我们留学生在essay写作中几个常见谬误,希望大家有则改之,无则加勉. E ...
- [题解] CF932E Team Work
CF932E Team Work 你现在手里有\(n\)个人,你要选出若干个人来搞事情(不能不选),其中选择\(x\)个人出来的代价是\(x^k\),问所有方案的代价总和. 数据范围:\(1\le n ...
- 二、【重点】环境安装:通过淘宝 cnpm 快速安装使用 React,生成项目,运行项目、安装项目
1.cnpm代替npm 如果你的系统还不支持 Node.js 及 NPM 可以参考我们的 Node.js 教程. 我们建议在 React 中使用 CommonJS 模块系统,比如 browserify ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-lock
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- webpack散记---提取公共代码
(1)作用: 减少代码冗余 提高加载速度 (2)来源 commonsChunkPlugin webpack.optimize.CommonsChunkPlugin (3)配置 { plugins:[ ...