JS基础知识:
javascript是什么:是一门脚本语言,弱类型,执行速度非常快
与java有什么关系:没有任何关系
JavaScript能做什么:控制浏览器BOM,控制元素DOM
js不能做什么:不能做文件读取,创建及删除;不能直接访问数据库
node.js:开发平台,通过这个平台可以开发常规web服务端,是一款非常轻量级的开发环境
Jquery.js:前端框架
JS是面向过程的语言,JS有面向对象,但不是纯粹的面向对象语言
常用对话框:alert("");confirm("");prompt("")
isNaN() 值为false时为数字
判断是否输入数字,不是数字自动去除:
<input id="text1" type="text" />
<script> var s = document.getElementById("text1"); s.onkeyup = function () { if (isNaN(this.value)) { s.value = s.value.substring(0,s.value.length-1); } } </script>
js数组:不固定长度,不固定类型,用索引等号赋值;取数组长度,用length
js函数:给参数不用写类型,直接给变量名即可;返回值只要写return就可以;有递归;
覆盖跳转页面 window.locaton.href="";
js的DOM操作:
- 找到元素: + 按照ID来找 var aa = document.getElementById("id"); 找到的肯定是一个对象
+ 按照Class来找 var aa = document.getElementsByClassName("class"); 找到的肯定是一个数组
+ 按照Name来找 var aa = document.getElementsByName("name"); 找到的肯定是一个数组
+ 按照元素名来找 var aa = document.getElementsByTagName("div"); 找到的肯定是一个数组
- 操作内容
+ innerHtml - 会将元素标记代码渲染后的效果显示出来(超链接形式显示) - 会将所有的内容和代码一并取出来
+ innerText - 不会将内容进行任何渲染,写的什么直接就输出什么(把超链接代码显示出来了) - 取值时它只会把能看到的文字信息取出来,不会取到HTML代码
+ value - 12个表单元素御用,别的元素没有权利使用它们
- 并不是value就能解决全部表单元素的内容操作,部分元素还需要上面两种的配合 如:option,radio
- 操作元素的属性
+ 添加属性 oTxt1.setAttribute("readonly", "readonly");
+ 修改属性 oTxt1.setAttribute("Class", "ttt");
+ 查询属性 this.getAttribute("Class");
+ 删除属性 this.removeAttribute("Class");
- 操作元素样式
- 所有的样式操作都是在元素代码内部进行添加及更改,优先级最高
+ 添加样式 this.style.width="100px"; this.style.boxShadow = "0px 0px 15px black";
+ 修改样式 this.style.width="100px"; this.style.boxShadow = "0px 0px 15px black";
+ 查询当前样式 this.style.xxx - 只能获取写在元素代码内部的样式值
获取即时样式: this.offsetWidth this.offsetHeight this.offsetTop this.offsetLeft
+ 删除样式
- 操作元素 查找兄弟级的上一个和下一个 this.nextSibling this.previousSibling
查找父级元素 this.parentNode
查找全部子级元素 this.childNodes
创建新元素 var oDiv = document.createElement("div");
document.getElementById("boss").appendChild(oDiv); -----------------------------------------
var oDiv = "<div class='div1'></div>";
document.getElementById("boss").innerHTML += oDiv; ----------------------------------------------------
移除元素 this.remove();