BOM:(Browser Object Model)浏览器对象模型,使js可以和浏览器对话

DOM:(Document Object Model)文档对象模型,通过它访问HTML文档的所有元素

Window是全局对象,表示浏览器窗口

window.open();

 

location对象:

  location.href  // 当前地址

  location.href = "url"  //打开地址

  location.reload()  // 重载

 

弹出框:

  alert("AlexSB");

  confirm("是否年满18周岁?")  // 返回true或false

  prompt("请在下方输入","你的答案")  // 返回输入内容

 

计时相关:

  setTimeout()

    var t = setTimeout(foo,毫秒)  // foo加括号就直接执行了

  clearTimeout(t)  // 清除计时

  var t = setInterval(foo,毫秒)  //每隔多少毫秒启动

  clearInterval(t)

 

DOM:

  涉及到DOM操作的JS语句要放在body的最下面(载入顺序)

  DOM标准规定HTML文档中的每个成分都是一个节点(node):

    文档节点(document对象):代表整个文档

    元素节点(element):代表标签

    文本节点(text):代表标签中的文本

    属性节点(attribute对象):代表一个属性。标签才有属性[s9]

    注释节点(comment对象)

 

JS查找标签的三种方式:

   document.getElementById("d1")

   document.getElementsByClassName("c1")

   document.getElementByTagName("p")

    var d3Ele = document.getElementById("d3");

    d3Ele.parentElement;  // 父标签

    d3Ele.chidren;  // 所有子标签

    d3Ele.firstElementChild;

    d3Ele.lastElementChild;

    d3Ele.previousElementSibling;  // 上一个兄弟标签

    d3Ele.nextElementSibling;

    

创建节点:

  var imgEle = document.creatElement("img");  // 创建自定义标签

  d1Ele.appendChild(imgEle);  // 在内部的最后添加

  imgEle.src = ""  // 添加图片地址

  

  var aEle = document.creatElement("a");

  d2Ele.insertBefore(aEle,d3Ele);  // 在d2内部,d3之前插入a标签

  aEle.innerText = "点我";

  aEle.href = "http://www.baidu.com";

 

操作标签的属性:

  标签的属性:

    .setAttribute("s9","hao")

    .getAttribute("s9")

    .removeAttribute("s9")

 

  文本内容:

    .innerText = ""

    改父的text子标签都会被删除

  标签内容:

    .innerHTML = "<p>我是p标签</p>"  // 用来快速添加简单标签

  

删除节点:

  d2Ele.removeChild(sonPEle);

替换节点:

  d2Ele.replaceChild(aEle, sonPEle);  // 在d2内部替换

  

获取值:

  .value

  适用于:.input  .select  .textarea

 

class操作:

  className  获取所有样式类名

  class.List.remove(cls)  

  classList.add(cls)

  classList.Contains(cls)

  classList.toggle(cls)  存在就删除,否则添加

 

指定CSS操作:

  没横线的用style.属性名

    obj.style.margin

    obj.style.width

  有横线的后面第一个字母大写

    obj.style.marginTop

    obj.style.fontFamily

 

事件:

  onclick

  ondbclick

  onfocus

  onblur

  onchange

  onselect

事件绑定方式:

  1.

<div id="d1" onclick="changeColor(this);">点我</div>
<script>
  function changeColor(ths) {
    ths.style.backgroundColor="green";
  }
</script>

  

  2.

<div id="d2">点我</div>
<script>
  var divEle2 = document.getElementById("d2");
  divEle2.onclick=function () {
    this.innerText="呵呵";
  }
</script>

带默认值的搜索框:

  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>搜索框示例</title>

</head>
<body>
<input id="d1" type="text" value="古剑奇谭3" >
<input type="button" value="搜索">

<script>
var inputEle=document.getElementById("d1");
inputEle.onfocus = function () {
this.value = "";
}

inputEle.onblur = function () {
if (!this.value.trim()){
this.value = "还不买等啥呢";
}
}
</script>
</body>
</html>

 

select联动:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>select联动</title>
</head>
<body>

<select name="" id="s1">
<option value="0">请选择</option>
<option value="1">北京</option>
<option value="2">上海</option>
</select>

<select name="" id="s2">
<option value=""></option>
</select>

<script>
var data = {1:['沙河区','朝阳区','海淀区'],2:['静安区','闵行区','浦东区']};

var s1Ele = document.getElementById("s1");
s1Ele.onchange = function () {
var area = data[this.value];
var s2Ele = document.getElementById("s2");
s2Ele.innerHTML = '';
for (var i = 0;i<area.length;i++){
var opEle = document.createElement("option");
opEle.innerText = area[i];
s2Ele.appendChild(opEle);
}
}

</script>

</body>
</html>