十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如果是下面的
成都创新互联公司主要从事成都做网站、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务桦南,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
jQuery
代码判断一个对象是否存在,是不能用的。
if($("#id")){
//...
}else{
//...
}
因为
$(“#id”)
不管对象是否存在都会返回
object
。
正确使用判断对象是否存在应该用:
if($("#id").length0){
//...
}else{
//...
}
使用
jQuery
对象的属性
length
来判断,如果
就存在。
或者
if($("#id")[0]){
//...
}else{
//...
}
或者直接使用原生的
Javascript
代码来判断:
if(document.getElementById("id")){
//...
}else{
//...
}
在jquery中可以使用2种方法来判断一个元素是否包含一个确定的类(class)。两种方法有着相同的功能。2种方法如下:
1. is(‘.classname’)
2. hasClass(‘classname’)
以下是一个div元素是否包含一个redColor的例子:
1. 使用is(‘.classname’)的方法
$('div').is('.redColor')
2. 使用hasClass(‘classname’)的方法(注意jquery的低版本可能是hasClass(‘.classname’))
$('div').hasClass('redColor')
以下是检测一个元素是否含有一个redColor类的例子,含有时,则把其类变为blueColor。
html
head
styletype="text/css"
.redColor {
background:red;
}
.blueColor {
background:blue;
}
/style
scripttype="text/javascript"src="jquery-1.3.2.min.js"/script
/head
body
h1jQuery check if an element has a certain class/h1
divclass="redColor"This is a div tag with class name of "redColor"/div
p
buttonid="isTest"is('.redColor')/button
buttonid="hasClassTest"hasClass('.redColor')/button
buttonid="reset"reset/button
/p
scripttype="text/javascript"
$("#isTest").click(function () {
if($('div').is('.redColor')){
$('div').addClass('blueColor');
}
});
$("#hasClassTest").click(function () {
if($('div').hasClass('redColor')){
$('div').addClass('blueColor');
}
});
$("#reset").click(function () {
location.reload();
});
/script
/body
/html
jquery判断页面中是否存在某元素,可以参考以下的代码:
script
if($('div').length0) {
alert('页面中存在div元素');
} else {
alert('页面中不存在div元素');
}
/script
上述代码思路说明 : 判断某一个元素的集合的个数。若是为0,则代表没有这样元素;若是大于0,则代表有这个元素。
扩展资料:
工作原理
jQuery的模块可以分为3部分:入口模块、底层支持模块和功能模块。
在构造jQuery对象模块中,如果在调用构造函数jQuery()创建jQuery对象时传入了选择器表达式,则会调用选择器Sizzle(一款纯JavaScript实现的CSS选择器引擎,用于查找与选择器表达式匹配的元素集合)遍历文档,查找与之匹配的DOM元素,并创建一个包含了这些DOM元素引用的jQuery对象。
jQuery 实例
html
head
script type="text/javascript" src="jquery.js"/script
script type="text/javascript"
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
/script
/head
body
pIf you click on me, I will disappear./p
/body
/html
参考资料来源:百度百科-jQuery
两种方法如下:
1、hasClass(‘classname’)
2、is(‘.classname’)
例子:
1、使用is(‘.classname’)的方法
$('div').is('.redColor')
2、使用hasClass(‘classname’)的方法(注意jquery的低版本可能是hasClass(‘.classname’))
$('div').hasClass('redColor')
扩展资料:
关于上述出现的jquery的hasclass()和is()的简介
1、is()
is(expr|obj|ele|fn)
根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。
如果没有元素符合,或者表达式无效,都返回'false'。 '''注意:'''在jQuery 1.3中才对所有表达式提供了支持。在先前版本中,如果提供了复杂的表达式,比如层级选择器(比如 + , ~ 和 ),始终会返回true
2、hasclass()
检查当前的元素是否含有某个特定的类,如果有,则返回true。
这其实就是 is("." + class)。
描述:给包含有某个类的元素进行一个动画。
在JQuery编码中,我们会判断元素是否存在某个属性.比如是否包含 class="new" 的样式呢.JQuery判断就非常简单了,因为有 hasClass这个方法 $("input[name=new]").hasClass("new") 即可判断.
但是有时候我们需要判断别的属性,比如有的 a 链接包含 rel 属性,有的没有rel属性.这时该怎么判断呢?
这时就没有现成的方法了. 如果存在某个属性 $("#aid").attr("rel") 会返回 rel的值,如果不存在 rel属性则会返回"undefined"
undefined 就是 undefined类型 , if($("#aid").attr("rel")=="undefined") 这个判断可能不成立.
因为类型不相同.
建议使用 if(typeof($("#aid").attr("rel"))=="undefined") 即可