手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jQuery 中$(this).index与$.each的使用指南
jQuery 中$(this).index与$.each的使用指南
摘要:工作当中响应某个需求,切换选项卡的一个效果,根据每个选项下的内容元素的总数不同而进行不同的html变化(如果选项卡下的内容为空就等于XXX,...

工作当中响应某个需求,切换选项卡的一个效果,根据每个选项下的内容元素的总数不同而进行不同的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元素的总数 就可以判断后得到我想要的效果

【jQuery 中$(this).index与$.each的使用指南】相关文章:

简介JavaScript中getUTCMonth()方法的使用

jQuery获取上传文件的名称的正则表达式

AngularJS中$interval的用法详解

浅谈JavaScript中的Math.atan()方法的使用

jQuery中 prop() attr()使用详解

JQuery中attr方法和removeAttr方法用法实例

简介JavaScript中toTimeString()方法的使用

JavaScript中String.match()方法的使用详解

微信WeixinJSBridge API使用实例

JavaScript中getUTCMinutes()方法的使用详解

精品推荐
分类导航