为了账号安全,请及时绑定邮箱和手机立即绑定

新手关于JS封装库获取设置css样式的问题

新手关于JS封装库获取设置css样式的问题

Ni14 2017-01-03 21:11:59
为什么我封装了var $=function(){return new Base};后面对象还是吧前面的对象设置的背景颜色覆盖了呀?这是我的封装库    //前台调用 var $=function(){     return new Base() }; //基础库 function Base(){} //创建一个数组,来保存获取的节点和节点数组 Base.prototype.elements=[]; //获取ID节点 Base.prototype.getId=function(id){     this.elements.push(document.getElementById(id));     return this; }; //获取Name节点 Base.prototype.getName=function(name){     this.elements.push(document.getElementsByName(name));     return this; }; //获取元素节点(tagName) Base.prototype.getTagName=function(tag){     var tags=document.getElementsByTagName(tag);     for(var i=0;i<tags.length;i++){         this.elements.push(tags[i]);     }     return this; };这是我的demo<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>测试1</title>     <style>         #box{             width: 200px;  height: 200px;  border: 1px solid #000;  }         .aaa{             font-size: 30px;  }     </style>     <script src="base.js"></script>     <script>  window.onload=function(){              $().getId("box").css("color","pink").css("background","green");              $().getTagName("p").css("background","blue")         }     </script> </head> <body> <div id="box">`box</div> <p class="aaa">段落</p> <p>段落</p> <p class="aaa">段落</p> <p>段落</p> </body> </html>为什么后面的还是会覆盖了前面的样式啊$().getId("box").css("color","pink").css("background","green"); $().getTagName("p").css("background","blue")我前面调用了$应该算是
查看完整描述

1 回答

?
MrTreasure

TA贡献11条经验 获得超12个赞

你封装的对象就有问题,getID,getTagName返回的是对象Base的实例,而不是base.elements,而且css()是jq的方法,不是原生的方法,你这段代码应该没生效

查看完整回答
1 反对 回复 2017-02-19
  • 1 回答
  • 0 关注
  • 1421 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信