javascript - 普通函数addClass(element, className)改成element.addClass(className)?
黄舟
黄舟 2017-04-10 17:02:20
[JavaScript讨论组]

如题,以下是我想的代码,不知道思路对不对,具体要怎么实现啊,新手求教~

function ElementObj() {}
ElementObj.prototype.addClass = function(className) {...}

var newElenment = new Element;
newElement.addClass(className);
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
伊谢尔伦

不好意思,估计是我没表达清楚。我的意思是像jQuery一样可以调用。返回对象及方法:

function $(className) {
  var element = document.getElementsByClassName(className);
  return {
    element: element,
    addClass: function(className) {
      ... //省略多余代码
      return this;
    },
    removeClass: function(className) {
      ... //省略多余代码
      return this;
    }
  }
}

就可以实现$(...).addClass(...).removeClass(...)了哈~

黄舟
HTMLElement.prototype.addClass=function(cls){
  if(!this.hasClass(cls)){
       this.className += ' ' + cls;
   }
};
HTMLElement.prototype.hasClass=function(cls){
   if(this.className.split(' ').indexOf(cls)!=-1){
    return true;
  }
  return false;
};

demo点这里

PHP中文网

不建议这样做,猴子布丁的一种。
比较好是这样

ele(ele).addClass(...)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号