前端day1—DOM

不带var的是全局变量
var
name = '大师兄'
局部变量
字符串拼接用 + 号
js中如果2个等号判断,只要值相同则为true
如果3个等号判断,必须数值类型都为true

JavaScript脚本语言

java
没有任何关系
Dom
文档对象模型
包含了整个页面的所有功能
可以通过调用方法的形式来对页面进行操作

js是脚本语言
可以写逻辑性代码
dom是文档对象模型
可以直接操作页面
js + dom
可以有逻辑的操作页面

DOM他想操作页面
一套定位功能
定位的功能具体有哪些?
document.getElementById('inner1')
通过id进行定位

document.getElementsByClassName('inner')
通过class定位
document.getElementsByTagName('input')
通过标签名定位
document.getElementsByName('username')
通过标签的name属性定位(比如input里的name值)

最好用Element的方法,因为只有id是唯一的。实在没办法再用下面Elements的方法

var声明局部变量

// 间接获取标签

var
tmp = document.getElementById('h-test');

tmp.parentElement; // 父节点标签元素

tmp.children; // 所有子标签
取其中比如第2个子标签,可以写成tmp.children[1]

tmp.firstElementChild; // 第一个子标签元素

tmp.lastElementChild; // 最后一个子标签元素

tmp.nextElementSibling; // 下一个兄弟标签元素

tmp.previousElementSibling; // 上一个兄弟标签元素

可以不停地.下去

innerHTML与innerText

tmp.innerText; // 获取标签中的文本内容,只能获取标签或者子标签中的文本内容

tmp.innerText = '老铁双击666'; // 更改标签内文本内容

tmp.innerHTML; // 获取标签中的所有内容,包含html代码

tmp.innerHTML = '<a href="http://www.imdsx.cn">大师兄</a>' // innerHTML
可以将含有HTML代码的字符串变为标签

input、textarea标签

tmp.value; // 获取input、textarea参数

tmp.value = '内容' // 对input、textarea的内容进行赋值
dom操作元素
innerText
修改目标元素的文本内容
如果赋值的内容 < p > < / p > 包含标签的字符串,依旧会以字符串的形式存储
innerHtml
如果赋值的内容
包含标签的字符串
他会直接转成标签元素 < p > < / p >
select标签

tmp.value; // 获取select标签的value参数

tmp.value = '选项' // 修改select选项

tmp.selectedIndex; // 获取select标签的选项下标

tmp.selectedIndex = 1 // 通过下标更改select的选项

操作样式

.c1
{}

.c2
{}

< div


class ="c1 c2" > < / div >


比如有两个css样式,可以使class包含这两个,就能展示这两个css样式,下面方式就是更改标签class属性
tmp.className = 'c1'; // 更改标签class属性
只能有一个class属性

tmp.classList; // 获取样式数组

tmp.classList.add('aaa'); // 添加样式
数组

tmp.classList.remove('aaa'); // 删除样式

通过字符串样式,对classname重新赋值,就包含了所要的样式

直接修改样式

display = 'none'
隐藏;=空又显示

style.xxx // 操作样式的粒度更加细化,操作单个样式属性,相当于在标签中增加一个style属性

style.backgroundColor // 例: 在css中样式可以通过【-】进行连接(比如background - color),在JavaScript中,所有的【-】都被去掉,【-】后面的第一个字符大写

tmp.style是操作标签中的属性,如果标签中没有style属性,就会为空

删除属性:

removeAttribute(key): 删除属性,在标签中删除指定属性

增加属性:

setAttribute(key, value): 设置属性,在标签中添加属性或自定义属性
设置type = password,输入框显示加密

attributes // 获取标签的所有属性:


input.attributes[0]
就是type = text这个属性

创建标签

对象方式创建标签

var
tmp = document.getElementById('create')
定义一个父标签
var
input = document.createElement('input')
创建一个标签对象
input.setAttribute('value', '金牛座')
给新创建的标签定义个属性
tmp.appendChild(input)
将创建的标签加到父标签里
--------------------------------------------------------------------------------

字符串创建标签
首先定义div为获取到的标签
input为要插入的标签
var
input = '<input value="金牛座">'

insertAdjacentHTML(where, tagStr): 父级标签内添加一个子标签字符串

beforeBegin: 插入到获取到标签的前面

afterBegin: 插入到获取到标签的子标签的前面(所有子标签的最前面)

beforeEnd: 插入到获取到标签的子标签的后面(所有子标签的最后面)

afterEnd: 插入到获取到标签的后面
--------------------------------------------------------------------------------
posted @ 2018-10-27 22:32  apollecn  阅读(107)  评论(0编辑  收藏  举报