关联:
1.内嵌
2.外引(既有内嵌又有外引时,内嵌不会执行。)(defer是延迟执行)
语法:(弱类型语言)
一、变量(定义时不区分类型,使用时区分类型)var 申明变量的关键字
1.基本类型
①数字:var a = 10;
②字符串(不区分 " " 和 ' ' ):var b = "hello";
③布尔类型 真假 true false:var c = true;var d =false;
④undefined类型(只声明一个变量但是没有给变量赋值):var e;
⑤null 涉及到一个量,但是这个量不存在
2.复合类型
①数组:var arr = [1,5.6,'asd',undefined,null,true,false](可以放任何类型,数组、对象、函数、数组等等)(没有多维数组,但是可以通过嵌套来模拟)
②对象(类似于结构体):var obj = { key:value}
③函数:(关键字function):1.命名函数:function 方法名(参数列表){函数体} 2.匿名函数:var aa = function (参数列表){函数体}
关键词
typeof a 或者 typeof(a)
alert()弹窗打印
console.log()控制台打印
console.dir
window.onload 等html全部加载完后再执行 延迟加载,用在内嵌里
方法调用和交互相关的一些内容
①document:onclick(鼠标单击)ondblclick(鼠标双击)onmouseenter(鼠标放上去)onmouseleave(鼠标离开)
document.onclick = function(){}:点击之后执行函数
dom操作document object model 增删改查:
一、查找:
①根据 id 值获取元素 getElementById(" ") 返回符合条件的第一个对象
②根据 class 值获取元素 getElementByClassName(" ") 返回符合条件的所有对象组成的数组
③根据元素名称(标签名)获取元素 getElementByTagName(" ") 返回所有符合条件的对象组成的数组
④根据选择器获取元素 document.querySelector("css的选择器")返回符合条件的第一个对象 document.querySelectorAll("css选择器") 返回所有符合条件的对象组成的数组
⑤通过关系查找
1.找父亲 parentNode parentElement;
2.找孩子 childNodes (子级节点)children(子级标签)
3.第一个孩子:childNodes[0]==firstChild (第一个节点)children[0]==firstElementChildren(第一个标签)
4.最后一个孩子:lastChild(最后一个节点)lastElementChild(最后一个标签)
5.找弟弟:nextSibling (找下一个节点)nextElementSibling (找下一个标签)
6.找哥哥:previousSibling(找上一个节点) previousElementSibling(找上一个标签)
二、修改
1.内容:innerHtml(把加的内容当作标签处理)innerText(把加的内容当作普通的文本处理)value(修改input框里的内容)
2.属性:①原生属性,(obj . 属性)直接修改;②自定义属性:获取(obj.getAttribute("属性") )设置(obj.setAttribute("属性,赋给属性的值")
3.样式:①obj.style.属性="值"(属性和css比没有连字符且驼峰法);②obj.style.cssText=""(属性按照css里的写,但是不换行)③修改属性,配合css加样式(设置clss值为已有css样式的class值)
三、添加
1.创建元素:document.createElement("标签") (然后结合查找和修改进一步创造)
cloneNode ( ) ,复制节点。(参数如果是 true ,表示深复制,表示将当前标签中的所有内容全部复制。参数如果是 false ,表示浅复制,只复制当前元素的标签及属性值。)
2.添加元素:
①在元素最后子元素位置添加 appendChild()
aa.appendChild(node);
②在某个元素前添加 insertBefore(要插入的元素,插入在那个节点之前)
var p = document.querySelector("p")
aa.insertBefore(node,p)
③替换掉节点 ReplaceChild(新节点,要被替换的节点)
aa.ReplaceChild(node,p)
四、删除
父级元素调用 removeChild()
body.removeChild(aa)
aa.parentElement.removeChild(aa)