猿问

js如何实现链式调用?

<div class="slide_window_a">
        <div class="s_scroll_a" id="s_scroll_a">
            <img src="1.jpg" alt="">
            <img src="2.jpg" alt="">
            <img src="3.jpg" alt="">
            <img src="4.jpg" alt="">
            <img src="5.jpg" alt="">
            <img src="6.jpg" alt="">
        </div>  
  </div>

  <script>
    function tag(element){        return document.getElementsByTagName(element);
    }    function $(element){        return document.getElementById(element);
    }
    alert($("s_scroll_a").tag("img").length);

为何这样$("s_scroll_a").tag("img").length不行?如何才能使用链式操作?


largeQ
浏览 929回答 1
1回答

FFIVE

运算是从左往右的$("s_scroll_a")返回了个Element实例,tag是你自己定义的函数,这俩半毛钱关系都没有,当然不能用链式调用。想要实现你这个东西的链式调用,你需要封装个类,然后把tag函数放到类的原型方法中。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答