1. script的规范写法:写在</body>前面,也就是body结束位置的前面;若写在head里面,网页自上而下被解析,会找不到下面的元素而返回null。
2. js直接添加一个类,可以用 元素.className +=" 新增类名";
3. 如果if和else语句块里的语句只有一句话,那么大括号可以省略
if(条件)
1句话
else
1句话
if和循环语句,如果语句块里只有1句话,那么大括号可以省略,但是函数,无论如何不能省略大括号 。
4.在js中如果要直接操作css样式,就通过 元素.style.样式属性名= "样式属性名";ps:但是样式属性名如果是带有横杠(-)的,要改成驼峰命名,如 元素.style.backgroundColor = "red";
5. dom元素自带的一些不用给值的属性,如 disabled,checked,selected等,不用赋值,只要写上,就代表元素拥有该属性。
元素.disabled = true; 代表的是让元素拥有这个属性; 元素.disabled = false;代表的是让元素失去这个属性。
6. Math.random()获取随机数。Math.random()的范围是 [0,1);
Math.ceil(Math.random() * 100);先获取[0,1)之间的随机数,然后在乘以100,然后在向上取整,就可以的到[0,100]之间的整数,但是这样的话0的概率会很低,因为只有随机数真正等于0的时候才会得到0;那么怎么样能让0的概念和其他数字一样呢?小魔女是这样做的:
要随机得到0 - n 之间的数: parseInt ( Math.random() * (n+1) );这是个万能公式哦。
7.阻止a标签跳转的几种方式:
7.1 给a标签加一个点击事件,点击事件里写一个 return false;
7.2 href属性改成javascript:void(0) 简写形式:javascript:
7.3 可以阻止浏览器的默认行为 e.preventDefault();同样能阻止跳转。
8.js操作元素行内属性的两种方式:
8.1 元素.属性名 = '属性值';但是这种方式只能操作元素自带的属性,JS里无法用点语法的形式来修改自定义的行内属性;
8.2 元素.setAttribute('属性名','属性值');可以用来设置和修改自定义属性,也可以设置和修改元素的自带属性,但主要还是用于自定义属性,因为操作元素自带属性用点语法更方便。
元素.getAttribute('属性名');获取属性的值,返回属性值。
元素.removeAttribute('属性名');移出行内属性
元素.attributes;可以拿到所有的属性,是一个伪数组。
9. body默认是没有高度的,由内容撑开。但是我们有时候需要设置body跟网页内容一样高,那就用下面这种样式:
html,body{
height: 100%;
}
10. 元素:网页中的所有标签都叫元素
节点:网页中的所有内容都叫节点,节点包括标签、、文本注释、属性等。
10.1
节点有三大特征:
nodeType: 节点类型
nodeName: 节点名字
nodeValue: 节点值
10.2 标签的节点特征:
nodeType: 1
nodeName: 大写的标签名
nodeValue: null
10.3 属性节点特征:
nodeType: 2
nodeName: 一定是属性名,小写
nodeValue:属性值
10.4 文本节点的节点特征:
nodeType:3
nodeName:#text
nodeValue:文本的内容
10.5 注释节点的节点特征:
nodeType:8
nodeName:#comment
nodeValue:注释的内容
10.6 document网页节点特征:
nodeType:9
nodeName:#document
nodeValue:null
11.
如何找body:document.body
如何找head:document.head
如何找html:document.documentElement
它们都是标签,所以它们的nodeType都为1
好啦,今天小魔女就写到这儿了。