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 ...
随机推荐
- 我用Python帮朋友做了张猪肉数据分析图,结果。。。
却发现他是这么拿我当兄弟的 事情的经过是这样的: 我开开心心的去一家烧饼店吃饭 . 抬头一看,二师兄又涨价了 叹了口气,再这么下去真的要吃不起夹肉的烧饼了 点了两个烧饼一碗馄饨 快吃完的时候, ...
- 019、Java中定义字符
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- 剑指offer自学系列(一)
题目描述:输入n个整数,找出其中最小的k个数,例如,输入{4,5,1,6,2,7,3,8}这8个数字,最小的4个数字是1,2,3,4 题目分析:首先我能想到的是先对数组排序,从小到大,然后直接输出想要 ...
- centos-6更新yum源(163)
更新前请先备份原来的repo文件,养成好习惯 cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.bak 到http://mirrors ...
- PHP页面跳转以及伪登录实例
PHP页面跳转一.header()函数header()函数是PHP中进行页面跳转的一种十分简单的方法.header()函数的主要功能是将HTTP协议标头(header)输出到浏览器. header() ...
- [YOLO]《You Only Look Once: Unified, Real-Time Object Detection》笔记
一.简单介绍 目标检测(Objection Detection)算是计算机视觉任务中比较常见的一个任务,该任务主要是对图像中特定的目标进行定位,通常是由一个矩形框来框出目标. 在深度学习CNN之前,传 ...
- Git详细命令
Git Guidegit的三种方式只在本地使用:将本地仓库上传到Github:下载GitHub上的仓库:1.只在本地使用在Git Bush上输入命令 mkdir git-demo-1 ——创建一个目录 ...
- 024-PHP常用字符串函数(一)
<?php $first = "abc"; $second = "aBc"; )//字串比较 { print("字符串相等:".&qu ...
- C++寒假作业2
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020OOP 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2 ...
- int, float, double 等转化为 string
一般有以下两种方法: QVecotr<int> vec; QString(QByteArray().setNum(vec.at(3))) float f; QString("%1 ...