abstract
字符串操作
substring
截取字符串(“有始无终”)
var s = "abcd";
s.substring(1,3); -> "bc"
$.trim()
$.trim() 函数用于去除字符串两端的空白字符。
var s = " 123 123 456 "
$.trim(s); -> "123 123 456"
AJAX
一、$.ajax()
该方法是 jQuery 底层 AJAX 实现。
1、async
类型:Boolean
默认值: true。
默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。两条并列AJAX要区分先后顺序的话应采取同步
2、cache
类型:Boolean
默认值: true。
dataType 为 script 和 jsonp 时默认为 false。设置为 false 将不缓存此页面。
3、contentType
类型:String
默认值: “application/x-www-form-urlencoded”。
请求发送信息至服务器时内容编码类型。
默认值适合大多数情况。如果你明确地传递了一个content-type给 $.ajax() 那么它必定会以设定类型发送给服务器(即使没有数据要发送)。
4、success
类型:Function
请求成功后的回调函数。
参数:由服务器返回,并根据 dataType 参数进行处理后的数据;描述状态的字符串。
这是一个 Ajax 事件。
5、error
类型:Function
默认值: 自动判断 (xml 或 html)。请求失败时调用此函数。
有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。
如果发生了错误,错误信息(第二个参数)除了得到 null 之外,还可能是 “timeout”, “error”, “notmodified” 和 “parsererror”。
这是一个 Ajax 事件。
6、type
类型:String
默认值: (“GET”)。
请求方式 (“POST” 或 “GET”), 默认为 “GET”。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。
7、url
类型:String
默认值: 当前页地址。
发送请求的地址。
8、dataType
类型:String
预期接收服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断.
- “xml”: 返回 XML 文档,可用 jQuery 处理。
- “html”: 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
- “script”: 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 “cache” 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
- “json”: 返回 JSON 数据 。
- “jsonp”: JSONP 格式。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
- “text”: 返回纯文本字符串
9、data
类型:String
发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:[“bar1”, “bar2”]} 转换为 ‘&foo=bar1&foo=bar2’。
$.ajax({
type: "POST",
async: true,
cache: true,
url: "ajax.php",
dataType: "json",
data: {"username": "bbdog","password": 123456},
contentType: "",
success: function(msg) {
console.log(msg)
},
error: function() {
console.log("error")
}
})
二、$.post()
语法
jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
url
必需。规定把请求发送到哪个 URL。
data
可选。映射或字符串值。规定连同请求发送到服务器的数据。
success(data, textStatus, jqXHR)
可选。请求成功时执行的回调函数。
dataType
可选。规定预期的服务器响应的数据类型。
默认执行智能判断(xml、json、script 或 html)。
三、$.get()
$(selector).get(url,data,success(response,status,xhr),dataType)
参数于post()方法类似
选择器
.val()
.html()
.text()
操作DOM
remove()和empty()
删除元素/内容
如需删除元素和内容,一般可使用以下两个 jQuery 方法:
remove() - 删除被选元素(及其子元素)
empty() - 从被选元素中删除子元素
append()和appendTo
$(selector).append(content)
$(selector).append(function(index,html))
$(content).appendTo(selector)
Tips:append() 和 appendTo() 方法执行的任务相同。不同之处在于:内容和选择器的位置,以及 append() 能够使用函数来附加内容。
.val()
.html()
.text()
text()
//返回文本内容
$(selector).text();
//设置文本内容
$(selector).text(content);
//使用函数设置内容
$(selector).text(function(index,oldcontent))
$(selector).attr({attribute:value, attribute:value ...})
class
//添加样式
$(selector).addClass(class)
//同时添加多个中间用空格隔开
//移除样式
$(selector).removeClass(class)
属性
attr
//返回属性值
$(selector).attr(attribute)
//设置属性值
$(selector).attr(attribute,value)
//移除属性值
$(selector).removeAttr(attribute)
可以操作标签的属性和样式的属性;
css
//返回属性值
$("p").css("background-color");
//设置属性值
$("p").css("background-color","yellow");
隐藏与显示
查看显示与隐藏
$('div:visible'); // 所有可见的div
$('div:hidden'); // 所有隐藏的div
1.hide()和show()
//隐藏
$(selector).hide(speed,callback);
//显示
$(selector).show(speed,callback);
可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
可选的 callback 参数是隐藏或显示完成后所执行的函数名称。
2.toggle()
//显示被隐藏的元素,并隐藏已显示的元素:
$(selector).toggle(speed,callback);
3.css(‘display’,*)
$("#id").css('display','none');//隐藏
$("#id").css('display','block');//显示
或者
$("#id")[0].style.display='none';
4.css(‘visibility’,*)
$("#id").css('visibility','hidden');//元素隐藏
$("#id").css('visibility','visible');//元素显示
display:none与visible:hidden的区别
visible保留'物理空间',display不保留'物理空间'
数据类型转换
typeof()
typeof()可以用来检测给定变量的数据类型,它将返回一个字符串,表示表达式的类型,而表达式的类型只有六种可能:
- number
- string
- boolean
- object
- function
- undefined
转为数字类型
转为Int
var iNum1 = parseInt(“1234blue”); -> 1234
var iNum2 = parseInt(“oxA”); -> 10
var iNum3 = parseInt(“22.5″); -> 22
var iNum4 = parseInt(“blue”); -> NaN
基模式转为Int
var iNum1 = parseInt(“AF”,16); -> 175
var iNum2 = parseInt(“10″,2); -> 2
var iNum3 = parseInt(“10″,8); -> 8
var iNum4 = parseInt(“10″,10); -> 10
如果以0开头最好使用十进制基模式
var iNum1 = parseInt(“010″); -> 8
转为Float
var fNum1 = parseFloat(“1234blue”); -> 1234.0
var fNum2 = parseFloat(“0xA”); -> NaN
var fNum3 = parseFloat(“.22.5″); -> 0.22
var fNum5 = parseFloat(“0908″); -> NaN
var fNum6 = parseFloat(“blue”); -> NaN
转为字符串类型
使用toString()方法,常用源数据有Boolean、number、String
1.Boolean
var b = true;
b.toString(); -> "true"
2.number[默认模式]
var num1 = 10.00;
num1.toString(); -> "10"
3.number[基(进制基数)模式]
var iNum = 10;
alert(iNum.toString(2)); -> “1010″
alert(iNum.toString(8)); -> “12″
alert(iNum.toString(16)); -> “A”
replace()
String.replace(regexp/substr,replacement);
var s = "abcd"
s = s.replace("a","z"); -> "zbcd"
s = s.replace(/c/,"z"); -> "zbzd"
s = s.replace(/z/g,"a"); -> "abad"
s = s.replace()
将json对象序列化为json字符串
contentType: ‘application/json’
JSON.stringify(JSONObject)
服务器端可以用JSON.parse将json串还原成JSONObject
数字计算
“四舍六入五成双”的toFixed
当有效位后一位,≤4 时舍去,≥6时进1;当等于5时,先判断5后是否还有数,有则进;无数时再判断5数的奇偶性,前为奇数则进1,否则舍去。
不同浏览器执行不同ES标准,计算时可能有所不同(尤其IE浏览器)
toFixed()返回数字形式的字符串,可参与运算
可以用toFixed补全小数点数。
取整Math.round()
可先*100 再/100 用于四舍五入。
和传统四舍五入最接近,当有效位后一位,≤4 时舍去,≥6时进1,当等于5时,向正无穷方向取整
待认领
window.confirm
.dialog
.parents
$(this)
.siblings
.not
.eq
.each
.prev
.live
.is
.before
.match
数据为空的几种方式
null “” undefined
正则