jQuery 中$(this).index与$.each的使用指南
作者:bea
工作当中响应某个需求,切换选项卡的一个效果,根据每个选项下的内容元素的总数不同而进行不同的html变化(如果选项卡下的内容为空就等于XXX,否则就XXX) 代码如下: $(function(){ $(".bao").hide(); $(".bao").eq(0).show(); $(".head li").click(function(){ $(this).addClass('cur').siblings().removeClass("cur");
工作当中响应某个需求,切换选项卡的一个效果,根据每个选项下的内容元素的总数不同而进行不同的html变化(如果选项卡下的内容为空就等于XXX,否则就XXX)
代码如下:
$(function(){
$(".bao").hide();
$(".bao").eq(0).show();
$(".head li").click(function(){
$(this).addClass('cur').siblings().removeClass("cur");
$(".bao").eq($(this).index()).show().siblings(".bao").hide()
var a=$(".bao").eq($(this).index()).find('li')
if(a.length<0){
alert("我小于0啊!!")
}
});
function moren(){
var moren=$(".moren").find('li')
if(moren.length==0){
alert("我是空的~没戏")
}
}
})
先声明 选项卡的头部就叫头部
选项卡的内容就叫内容啊~ 想到的第一种方法(笨方法): 绑定添加了click事件。当切换头部的时候执行.头部根据自己的索引获得相对应的内容,在遍历到内容下的li元素,就获得每个头部相对应的内容下的总个数。 因为说,这是click事情后发现的事,但是忽略了头部的第一个元素,我要它在浏览器的刷新的时候就开始执行,所以我为头部的第一个元素增加多了一个class类 在对这个class类进行判断。最后~ 就得到我想要的效果。当个数==0||!==0的时候就执行我所要的。 但是考虑到。后面可能会出现一切我所预料不到的事,我不要它在我点击的时候在执行,我要在浏览器刷新后加载后就帮我执行。所以小菜鸟我又苦逼的凑出一种方法 另外的一种方法 感觉这样比较好~:
代码如下:
$(function(){
$(".bao").hide();
$(".bao").eq(0).show();
$(".head li").click(function(){
$(this).addClass('cur').siblings().removeClass("cur");
$(".bao").eq($(this).index()).show().siblings(".bao").hide()
});
var aaa= $(".bao ul")
aaa.each(function(){
var b=$(this).children('li').length
alert(b)
if(b==0){
$(this).append("<div>我是0个之后增加上去的</div>")
}
})
})
这种方法用了$.each() 比较方便吧,目前来说得到我想要的结果。$.each()遍历出每个内容元素,然后在获取内容自己下面的li元素的总数 就可以判断后得到我想要的效果
有用 | 无用
代码如下:
$(function(){
$(".bao").hide();
$(".bao").eq(0).show();
$(".head li").click(function(){
$(this).addClass('cur').siblings().removeClass("cur");
$(".bao").eq($(this).index()).show().siblings(".bao").hide()
var a=$(".bao").eq($(this).index()).find('li')
if(a.length<0){
alert("我小于0啊!!")
}
});
function moren(){
var moren=$(".moren").find('li')
if(moren.length==0){
alert("我是空的~没戏")
}
}
})
先声明 选项卡的头部就叫头部
选项卡的内容就叫内容啊~ 想到的第一种方法(笨方法): 绑定添加了click事件。当切换头部的时候执行.头部根据自己的索引获得相对应的内容,在遍历到内容下的li元素,就获得每个头部相对应的内容下的总个数。 因为说,这是click事情后发现的事,但是忽略了头部的第一个元素,我要它在浏览器的刷新的时候就开始执行,所以我为头部的第一个元素增加多了一个class类 在对这个class类进行判断。最后~ 就得到我想要的效果。当个数==0||!==0的时候就执行我所要的。 但是考虑到。后面可能会出现一切我所预料不到的事,我不要它在我点击的时候在执行,我要在浏览器刷新后加载后就帮我执行。所以小菜鸟我又苦逼的凑出一种方法 另外的一种方法 感觉这样比较好~:
代码如下:
$(function(){
$(".bao").hide();
$(".bao").eq(0).show();
$(".head li").click(function(){
$(this).addClass('cur').siblings().removeClass("cur");
$(".bao").eq($(this).index()).show().siblings(".bao").hide()
});
var aaa= $(".bao ul")
aaa.each(function(){
var b=$(this).children('li').length
alert(b)
if(b==0){
$(this).append("<div>我是0个之后增加上去的</div>")
}
})
})
这种方法用了$.each() 比较方便吧,目前来说得到我想要的结果。$.each()遍历出每个内容元素,然后在获取内容自己下面的li元素的总数 就可以判断后得到我想要的效果
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- js实例属性和原型属性示例详解
- JS常用函数使用指南
- 浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
- 理解jQuery stop()方法
- nodejs教程之制作一个简单的文章发布系统
- nodejs教程之异步I/O
- nodejs教程之入门
- JS中三目运算符和if else的区别分析与示例
- node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
- nodejs 提示‘xxx’ 不是内部或外部命令解决方法
- JS在可编辑的div中的光标位置插入内容的方法
- js实现div弹出层的方法
- JavaScript中的公有、私有、特权和静态成员用法分析
- js实现二代身份证号码验证详解
- js实现网页标题栏闪烁提示效果实例分析
- javascript获取flash版本号的方法
- Jquery对象和Dom对象的区别分析
- 深入理解javascript变量声明
- javascript限制用户只能输汉字中文的方法