jquery怎么时刻监听一个元素的隐藏与显示?
jQuery判断一个元素是显示还是隐藏,jQuery使用is()的方法来判断一个元素是否显示,反之,则为隐藏,jQuery判断是否显示,jQuery判断是否隐藏,jQuery判断是否可见。判断一个元素是否显示,可以使用jQuery中的is()方法来实现。JS代码:假设这个div元素的id为mydiv。以下为引用内容:
$(document).ready(function(){if($("#mydiv").is(":visible")==false){});以上代码可以很好地判断div、input、button等元素的显示与隐藏。
jquery怎么设置默认显示第一个元素?
思路:使用hide()隐藏所有元素→使用选择器first,first-child,nth-child(1)等获取第一个元素→使用show()显示第一个元素。
实例演示如下:
1、HTML结构
<div id="test">
<li>Glen</li>
<li>Tane</li>
<li>John</li>
<li>Ralph</li>
</div>
2、jquery代码
$(function(){
$("#test li").hide();
$("#test li").eq(0).show();
});
3、显示效果
jquery中怎样根据父级找元素?
jquery中parent()可以获取父级元素,所以获得某元素父级的父级可以使用
$(selector).parent().parent();
示例如下
创建Html代码及css样式
class1
class2
class3
div{padding:10px 20px;border:4px solid #ebcbbe;}
div.class1{width:200px;height:120px;}
编写jquery代码
$(function(){
$("div.class3").click(function() {
obj = $(this).parent().parent();
alert(obj.prop('class'));
});
})
jquery选择不存在的元素如何做到不报错的?
刚好这个月在看jquery源码,要回答这个问题,当然要从jquery源码来看了;
在这儿,使用的是jquery 2.0.3的版本源码进行说明;如,我们使用jquery去查找一个页面不存在的元素$('#test')元素,看下源码具体走了哪些;在这儿就不一步一步进行源码分析,只是进行简单说明;
通过下图代码可以看出,调用$('#test')时,会走jquery.fn.init函数;然后我们去看下此函数;
由于函数代码量过多,就不截图;简单说下,此函数会对传入的“selector”进行分类及各种情况处理;而这儿我们就看是id为test情况;首先它会通过下图判断
然后,会通过一个正则“match = rquickExpr.exec( selector );”进行匹配,匹配"#test"结果match如下:
然后会走原生方法document.getElementById方法:
因为页面本来没有此元素,所以会直接返回空(null),最后会走下图代码,返回最终结果由上图代码可知,即使返回结果为空,它也会返回一个jquery对象,里面包含context、selector属性,还有继承的jquery全局方法,结果如下图:所以,如果你即使查找一个没有的元素,它也会返回一个jquery对象,你也可以直接使用对象中所有的jquery全局方法;
上面只是用id的简单的方式,如果是类、标签、css等其他复杂的进行查找时,jquery会根据类型和浏览器的版本不同,使用不同的方式进行查找,但最终返回结果都差不多,而且即使没有,都会返回一个jquery对象;