a[0] 是undefined, 就像 {}.a 是undefined, 是未定义
empty本身不是undefined和null
empty()、html("")和text("")在删除匹配元素内内容时是一样的。jQuery源码中实现有所不同,但效果相同。你可以测试一下源码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />
<title>无标题文档</title>
<script src="../scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script>
$(function(){
$('#btnEmpty').click(function(){
$('#aim').empty()
alert("empty()")
})
$('#btnHtml').click(function(){
$('#aim').html("")
alert('html("")')
})
$('#btnText').click(function(){
$('#aim').text("")
alert('text("")')
})
})
</script>
</head>
<body>
<div id="aim">
<ul>
<li>111111111</li>
<li>222222222</li>
<li>333333333</li>
<li>444444444</li>
</ul>
</div>
<button id='btnEmpty'>empty()</button>
<button id='btnHtml'>html("")</button>
<button id='btnText'>text("")</button>
</body>
</html>
一、html(val):设置每一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。
返回值:jQuery
参数:val (String) : 用于设定HTML内容的值
示例:
HTML 代码:
<div></div>
jQuery 代码:
$("div").html("<p>Hello Again</p>")
结果:
[ <div><p>Hello Again</p></div>]
二、empty():删除匹配的元素集合中所有的子节点。
返回值:jQuery
示例:把所有段落的子元素(包括文本节点)删除
HTML 代码:
<p>Hello, <span>Person</span><a href="#">and person</a></p>
jQuery 代码:
$("p").empty()
结果:
<p></p>
三、text(val):设置所有匹配元素的文本内容
与 html() 类似, 但将编码 HTML (将 "<" 和 ">" 替换成相应的HTML实体).
返回值:jQuery
参数:val (String) : 用于设置元素内容的文本
示例:
HTML 代码:
<p>Test Paragraph.</p>
jQuery 代码:
$("p").text("<b>Some</b>new text.")
结果:
[ <p><b>Some</b>new text.</p>]
一般判断为空有 null值、undefined值与NaN值判断undefined:
var tmp = undefinedif (typeof(tmp) == "undefined"){ alert("undefined")}
说明:typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"
判断null:
var tmp = nullif (!tmp && typeof(tmp)!="undefined" && tmp!=0){ alert("null")}
判断NaN:
var tmp = 0/0if(isNaN(tmp)){ alert("NaN")}
附上全部相等图≅:松散等于等于检查(==), 比如: "1" == true[] =="0"
=:全等或恒等全等检查(===)