js进阶笔记

js进阶笔记

API application programming interface 应用程序编程接口
webAPI:浏览器里面有的API,就是 DOM + BOM

DOM

document 整个页面,把整个页面看成一个对象,使用对象把页面里面所有东西管理起来
例子:

<button id="btn"> 点击 </button>
<script>
	var btn = document.getElementById('btn')
	btn.onclick = function(){
		alert('点击按钮,弹出提示')
	}
</script>

在DOM中通常做这样三件事

  • 1.获取元素 - document.getElementById
  • 2.注册事件 - 元素对象.onclick = function(){}
  • 3.实现效果 - alert()

获取元素

根据id获取元素
document.getElementById('ID')

返回值是一个元素对象 或者是一个 null (html 中没有找见id时)

什么是事件?

用户操作了,就发生了事件,用户的交互(不全面)
只要是用户的交互都使用事件解决
怎么用?
注册事件
事件源.on事件类型 = 事件处理程序
元素对象.on交互 = function() {}
如何修改元素的样式
元素.style 可以获取所有的行内样式
元素.style.css属性名 = 新的值
例子:

box.style.backgroundColor = "red"
js 对html 属性进行操作

3种属性 html 属性 css 属性 js属性
根据标签名获取元素

document.getElementsByTagName(tagName)

参数: tagName 标签名
返回值: 一个nodeList对象,一个元素的集合
注意:返回值是一个集合,不管页面上有多少个同名的标签都会返回一个集合,如果是一个集合,一定要通过索引先拿出来在操作
在事件处理程序中,this的执行为事件源
通过操作class 对样式进行控制
元素.className = 新类名
style 和 className 的区别

  • style一次修改一个css样式,class可以一次修改多个属性
  • style的优先级高于class
    className 的缺点:要么会把以前的样式全部覆盖掉,要么需要自己看看原来的样式,然后补充之前的样式,使用起来有些麻烦
    元素.classList 元素类型的集合
    .add(类名) // 添加类名
    .remove(类名) // 删除类名
    .toggle(类名) // 切换类名
    例子:
box.classList.add('green')

操作属性:
修改 元素.属性名 = 新的值
属性分类:

  • 标准属性
    w3c 标准里面规定好的,具有特殊功能的属性 id,class,title,src,href
  • 自定义属性
    标准里面没有的,根据需求自定义的
    getElementByTagName 的第二种使用方式
    作用:找到这个 前辈元素的所有后代里 元素里面 标签名是 tagName的元素
    例子:
var ul = document.getElementById('list')
var title = ul.getElementByTagName('img')
根据类名获取元素

document.getElementsByClassName(classname)
element.getElementsByClassName(classname)
参数:classname 类名
作用:根据类名获取元素
返回值:一个包含所有符合条件的元素集合(类数组)

js中操作 所有属性的方法

元素.getAttribute(属性名)
元素.setAttribute(属性名,属性值)
元素.removeAttribute(属性名)
例子:

<div id="box" abc="box1" data-index="1"></div>
<script>
	var box = document.getElementById('box')
	var abc = box.getAtrribute('abc')
	console.log(abc) // box1
	box.setAttribute('data-index',999) // 设置属性
</script>
h5里面推荐的自定义属性操作方式

需要先使用data-属性名 = 值
获取值: 元素.dataset.属性名
设置值:元素.dataset.属性名 = 值
例子:

<img src="xxx.jpg" id ="myImg">
var myImg = document.getElementById('myImg')
myImg.dataset.mysrc = 'xxx.png'
// <img src="xxx.jpg" id ="myImg" mysrc="xxx.png">
// 获取值
console.log(myImg.dataset.mysrc) // xxx.png
标准属性里面有一类属性比较特殊

checked 是否选中 单选框、多选框
seleted 是否选中 下拉框
disabled 是否禁用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值