fmj.me

FMJ.me

一个靠自学的菜鸟,只会html+css,JavaScript是什么鬼?php?我靠,好高大上!

冯美杰就是我。单纯的个人博客,只做记录,别无其他。

鄂ICP备15002105号

Powered By Z-BlogPHP,Theme By zblog模板

当前位置:网站首页 技术学习 正文

js深坑之jq的遍历 查找 和this....

FMJ发布于4年前 (2016-11-28) 1632 浏览 0 评论

昨天晚上和今天一上午都在折腾一个东西:一个div里面有多个ul,ul里面又有嵌套的ul,然后要判断最终的ul高度是否大于一个数值,如果大于指定数值,则强制限制高度,并且出现一个按钮,点击按钮又能恢复限制的高度。

等于是有一个点击展开的按钮...

dom结构嵌套多了,对于js小白来说简直是天坑,一边写代码一边查资料一边问dalao。最后成品代码:

$(".tx-comments ul li ul").each(function(){ 
    if($(this).find("li.msgarticle").height() >= 40){
        $(this).find(".zhankai").show();
        $(this).find("li.msgarticle").css({"height":"41px"});
    }else{
        $(this).find(".zhankai").hide();
    }
    var _this = this
    $(this).find(".zhankai").click(function(){
        $(_this).find("li.msgarticle").css({"height":"auto"});
        $(_this).find(".zhankai").hide();
        $(_this).find(".zhankai1").show();
    });
    $(this).find(".zhankai1").click(function(){
        $(_this).find("li.msgarticle").css({"height":"41px"});
        $(_this).find(".zhankai").show();
    });
});

然后描述下今天学到的几个知识点:

1、each是遍历;.find是查找子节点;

2、$(this)是获取当前函数;$(this)如果还要嵌套一层的话,得用“var _this = this”,然后里面那层用_this,今天就是卡在这个问题上卡了半天;

3、思路很重要,抽象能力更很重要,上面这一坨垃圾代码怎么看都没有美感,但是我尽力了...

jq遍历 jq查找

本文暂时没有评论,来添加一个吧(●'◡'●)

取消回复欢迎 发表评论:

请填写验证码