1.js连接符是“+”
2.js中查看数值类型的函数是typeop(),使用方法typeof(str)
3.js中的数组定义方法有:var arr=[];var arr=new Array();var arr=new Array("str1", "str2", "str3")
4.向数组中添加元素:在末尾添加--arr.push(" ...") ;在头部添加--arr.unshift("...") ;在指定位置添加--splice(
5.修改已有数组的值:arr[2]="gahaha"
6.数组长度:arr.length
7.由['张三',23]变成[{value:23, name:'张三'}]的过程:var rows=[]; var ro=new Object(); ro.value=23; ro.name='张三'; rows.push(ro);
8.jquery的ajax返回error,其中readystate:0, ststus:500; textstatus:error; errorThrown:Internal server error 错误原因为内部服务错误,(本人使用了php与ajax交互),将html文件的后缀改为php就可以了
9.jquery中的if判断与JavaScript不同之处在于,js中是"==",而jquery中如果右端是变量则为"=",右端为str则为"=="
10.html中使用ajax出现"Uncaught SyntaxError: Unexpected token <"错误在第一行,原因为ajax传过来的数据类型不正确,修改php
11.document中getElementById()函数与querySelector()都用来获取元素,其中的区别为:
getElementById() 获取动态集合:通过函数获取元素之后,元素之后的改变还是会动态添加到已经获取的这个元素中。即这个变量会一直改变(除了第一次赋值)
querySelector() 获取静态集合:元素之后的改变不会影响获取后存储的变量,即获取到元素之后变量就与元素没有关系。
12.js调用ajax返回error,其中readystate:4, ststus:0; textstatus:error; 错误原因为url的地址错误
13."Uncaught TypeError: Cannot set property 'display' of undefined",本人错误原因为var s=document.getElementByClassName("li"); s.style.display="block",可以看出,display并不能使用在由getElementByClassName得到的
14.获取<ul>中li的值:
html代码:<ul id='test'> <li>我</li> <li>打</li> <li>你</li> <li>哦</li> </ul>
Javascript代码:var obj_lis=document.getElementById("test").getElementsByTagName("li");
for (var i=0;i<obj_lis.length;i++){
obj_lis[i].onclick=function(){
alert(this.innerHTML);
} }
15.引入css文件时,<link style="text/css" rel="stylesheet" href=" **.css" />
16.(在jquery中)给input赋值,$("#**").val( "*****");
17.(在jquery中)元素的id为变量(v_la)时,获取元素可以使用$('#'+v_la);
18.html() 方法返回或设置被选元素的内容
19.jquery中可以使用attribute,prop获取,设置input的checked值。
<input name='checkboxall' id='selectall' type='checkbox'>
prop方法获取、设置checked属性: $(obj).prop("checked")的结果为true ;
$("input[name='checkboxall']").prop("checked",true)时,checkbox会被选中 ;
$("input[name='checkboxall']").prop("checked",false)时,checkbox不会被选中
attr方法获取、设置checked属性:如果当前input中初始化未定义checked属性,则不管当前是否选中,$("#selectall").attr("checked")都会返回undefined;
如果当前input中初始化定义了checked属性,无论checked=" "或checked='checked',当前checkbox都处于选中状态,$(“#selectAll”).attr(“checked”)都会返回”checked”;
在jquery中应该使用prop方法来获取和设置checked属性,不应该使用attr()
20.jquery设置元素属性和内容:
普通属性:1)设置属性:设置单个属性----$(选择器).attr("属性名","属性值")
设置多个属性----$(选择器).attr({属性名:'属性值',属性名:'属性值'...}) --这里的属性名可加引号也可不加引号
2)获取属性:$(选择器).attr("属性名")
3)删除属性:$(选择器).removeAttr("属性名")
CSS属性: 1)设置css属性:设置单个css属性----$(选择器).css("属性名","属性值")
设置多个css属性----$(选择器).css({属性名:'属性值',属性名:'属性值'...}) --这里的属性名可加引号也可不加引号
2)获取css属性:$(选择器).css("属性名")
3)添加样式:$(选择器).addClass("样式名")
4)删除样式:$(选择器).removeClass("样式名")
21.scrollintoView() :支持scrollintoView()方法的浏览器有IE,Firefox,Safari,Opera;
用法:var anchor =document.getElementById("#screenone");
anchor.scrollintoView(true)
参数true或 “ " :元素顶部与视口对齐
参数false: 元素底部与视口对齐
22.setAttribute()方法,可以添加指定的属性,并为其赋指定的值。如果这个指定的属性已存在,则仅设置/更改值。用法:element.setAttribute("id/class/type/..","../../button/.." )
实例:document.getElementsByTagName("INPUT")[0].setAttribute("type","button");
23.设置当内容超出div出现滚动条(此处应该设置overflow的属性)
overflow:auto ;内容会被修剪,超出设置的宽高后会出现滚动条
overflow:scroll ;内容会被修剪,不管内容是否超出,都会出现滚动条的位置
overflow:visible ;这个时默认值,内容不会被修剪,会出现在元素框外面
overflow :hidden ;内容会被修剪,多余的内容被隐藏
overflow:inherit ;从父元素那里继承overflow的值。
24.empty()方法:移除被选元素的所有子节点和内容 。$("div).empty();
注意:该方法不会移除元素本身,或它的属性。
提示:如需移除元素,但保留数据和事件,使用detach()方法。 $("p").detach()---移除所有的<p>元素
提示:如需移除元素及它的数据和事件,使用remove()方法。 $("p").remove()--......
25.获取li中的值,$("#ul_**")[3].val();---------获取ul的第四个元素的值
26.将数组转化为json:JSON.stringify( array );
27.<input>的type类型:
text:单行文本输入框,默认
password:密码输入框,(输入字符会经过掩码处理,表现为一连串的点)
file:文本上传控件
radio:单选按钮
checkbox:复选框
hidden:隐藏的输入字段
button:按钮
image:图形形式的提交按钮,该类型可以设置width、height、src、alt这四个特性
reset:重置按钮,重置按钮会清除表单中的所有数据
submit:提交按钮,提交按钮会把表单数据发送到服务器
color:调色板
tel:包含电话号码的输入域
url:包含url地址的输入域
email:包含email地址的输入域
url:包含url地址的输入域
search:搜索域
number:包含数值的输入域
range:包含一定范围内数字值的输入域
date:选取日、月、年的输入域
month:选取月、年的输入域
week:选取周、年的输入域
time:选取月、年的输入域
datetime:选取时间、日、月、年的输入域(UTC时间)
datetime-local:选取时间、日、月、年的输入域(本地时间)
28.<a> href可以传递参数:
eg: <a href="index.html?age=11">跳转</a>
<a href="index.html?age="+age>跳转</a>
<a href="index.html?age="+${age}>跳转</a>
29.<a>href传参后另一个html页面的接收:
(function ($) {
$.getUrlParam = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
})(jQuery);
var id = $.getUrlParam('id'); //获取
30.document.getElementById()与$("#")的区别
alert($('#box'))得到的结果是 [object Object]
alert(document.getElementById('box'))得到的是[object HTMLDivElement]
alert($('#box')[0])或者alert($('#box').get(0))得到的是[object HTMLDivElement]
alert($('#id')[0])或者$('#id').get(0)应该和document.getElementById('id')的结果一样
31.<input>标签只读不可编辑:
1)onfocus=this.blur()
2) readonly 或者readyonly="true"
3) disabled
32.js字符转化为数字: 整数---var str="12" c=parseInt(str) //c=12
浮点数---var str="12.3" c=parseFloat(str) //c=12.3
33.js中数字相加:var c=Number(a)+Number(b)
34. :eq( )选择器
:eq( )选择器选取带有指定index值的元素(值从0开始)
35. :gt( )选择器
:gt( )选择器选取index值大于指定数字的元素。 (值从0开始)
示例:删除表格的第一行后所有行:$("#poping_table tr :gt(0) ").remove( );
36. 通过js设置<input type='radio'>的状态为选中: $("input [id=niu] ").prop("checked","checked");
通过js设置<input type='radio'>的状态为未被选中 : $("input [id=niu] ").prop("checked", false)
37.获取table中鼠标点击位置行号与列号:
$(" #table_1 td").click(function(){
var tdSeq=$(this).paraent( ) .find("td").index($(this)[0]);
var trSeq=$(this).parent( ).parent( ).find("tr").index($(this).parent()[0]);
alert("第"+(trSeq + 1)+"行,第"+(tdSeq+1)+"列");
})
38.通过点击行中任意一个元素,获取该行的所有元素:
$("#table_1").on("click","tr",function(e){
var td_arr=[];
$(this).children( ).map(function(el){
arr.push($(this)[0].innerText);
})
console.log("获取的id为:"+td_arr[1]);
})
39.字符串切割时报错:Cannot read propert 'split' of undefined..错误行代码:var arr=edycl.split('_');
原因:获取空字符,有为空的情况。
故修改为:var arr =(edycl || '').split('_')
40.