获取样式函数封装

function getStyle(ele,attr){
if(ele.currentStyle){
return ele.currentStyle[attr];
}
else{
return window.getComputedStyle(ele,null)[attr];
}
};

getClass()封装

function getClass(element, names){
//如果存在getElementsByClassName()方法,则直接获取元素。
if(document.getElementsByClassName){
return element.getElementsByClassName(names);
}
var list = [];
//获取所在元素区域内所有子元素
var doms = element.getElementsByTagName('*');
//处理传入的类名参数
var namesList = myTrim(names);
var namesArr = namesList.split(' '); for(var i = 0; i < doms.length; i++){
var flag = true;
//处理子元素类名
var str = myTrim(doms[i].className);
var arr = str.split(' ');
for(var j = 0; j < namesArr.length; j++){
//如果存在一个传入的类名参数的值在子元素类名中不存在,则标志位变为false。
if(arr.indexOf(namesArr[j]) == -1){
flag = false;
}
}
//若标志位始终为true,则把该子元素加入到数组中;
if(flag){
list.push(doms[i]);
}
}
return list;
}; //去除字符串两侧的空格,且把当中的多个空格合并成一个。
function myTrim(str){
var str1 = str.replace(/(^\s*)/g,'');
var str2 = str1.replace(/(\s*$)/g,'');
var str3 = str2.replace(/(\s+)/g,' ');
return str3;
};

仿jQuery $()获取元素

//仿jQuery $()获取元素
function $(str){
var s = str.charAt(0);
var ss = str.substr(1);
switch(s) {
case '#':
return document.getElementById(ss);
break;
case '.':
return getClass(document,ss);
break;
default:
return document.getElementsByTagName(str);
}
}

 获取屏幕宽度兼容封装

function window_width(){
if(window.innerWidth != null){
return window.innerWidth;
}
else if(document.compatMode === 'CSS1Compat'){
return document.documentElement.clientWidth;
}
return document.body.clientWidth;
}

  

【前端学习笔记】JavaScript 常用方法兼容性封装的更多相关文章

  1. 前端学习笔记-JavaScript

    js引入方式: 1.嵌入js的方式:直接在页内的script标签内书写js功能代码. <script type="text/javascript">alert('hel ...

  2. 【前端】Web前端学习笔记【1】

    ... [2015.12.02-2016.02.22]期间的学习笔记. 相关博客: Web前端学习笔记[2] 1. JS中的: (1)continue 语句 (带有或不带标签引用)只能用在循环中. ( ...

  3. 【前端】Web前端学习笔记【2】

    [2016.02.22至今]的学习笔记. 相关博客: Web前端学习笔记[1] 1. this在 JavaScript 中主要有以下五种使用场景 在全局函数调用中,this 绑定全局对象,浏览器环境全 ...

  4. Web前端学习笔记(001)

    ....编号    ........类别    ............条目  ................明细....................时间 一.Web前端学习笔记         ...

  5. web前端学习笔记

    web前端学习笔记(CSS盒子的定位) 相对定位 使用相对定位的盒子的位置常以标准流的排版方式为基础,然后使盒子相对于它在原本的标准位置偏移指定的距离.相对定位的盒子仍在标准流中,它后面的盒子仍以标准 ...

  6. 学习笔记---Javascript事件Event、IE浏览器下的拖拽效果

    学习笔记---Javascript事件Event.IE浏览器下的拖拽效果     1. 关于event常用属性有returnValue(是否允许事件处理继续进行, false为停止继续操作).srcE ...

  7. 前端学习笔记之JavaScript

    JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中),后将其改名ScriptEase(客 ...

  8. [JS学习笔记]Javascript事件阶段:捕获、目标、冒泡

    当你在浏览器上点击一个按钮时,点击的事件不仅仅发生在按钮上,同时点击的还有这个按钮的容器元素,甚至也点击了整个页面. 事件流 事件流描述了从页面接收事件的顺序,但在浏览器发展到第四代时,浏览器开发团队 ...

  9. HTML 学习笔记 JavaScript(面向对象)

    现在让我们继续跟着大神的脚步前进 学习一下JavaScript中的面向对象的思想,其实作为一个iOS开发者,对面向对象还是比较熟悉的,但是昨晚看了一下Js中的面向对象,妈蛋 一脸萌比啊.还好有大神.让 ...

随机推荐

  1. 20155232 2016-2017-3 《Java程序设计》第10周学习总结

    20155232 2016-2017-3 <Java程序设计>第10周学习总结 教材学习内容总结 计算机网络 路由器和交换机组成了核心的计算机网络,计算机只是这个网络上的节点以及控制等,通 ...

  2. 20155236 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

    20155236 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 因为我用的是windo ...

  3. 20155302 2016-2017-2 《Java程序设计》第4周总结

    20155302 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 有关类的继承的理解:类实现继承的格式:class 子类名 extends 父类名 类的继承有 ...

  4. 学号20155311 2016-2017-2 《Java程序设计》第一次实验报告

    课程:Java程序设计 实验名称:Java开发环境的熟悉 实验目的与要求: 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 完成实验. ...

  5. 第9周 实现PWD命令

    第9周 实现PWD命令 码云链接:https://gitee.com/bestiisjava2017/laura5332/blob/master/%E4%BF%A1%E6%81%AF%E5%AE%89 ...

  6. day 8 递归

    版本1)  求5!while # 5! = 5*4*3*2*1 # 4!= 4*3*2*1 i = 1 result = 1 while i <= 5: result = result * i ...

  7. 【BZOJ3527】[ZJOI3527]力

    [BZOJ3527][ZJOI3527]力 题面 bzoj 洛谷 题解 易得 \[ E_i=\sum_{j<i}\frac{q_j}{(i-j)^2}-\sum_{j>i}\frac{q_ ...

  8. .net core 无法获取本地变量或参数的值,因为它在此指令指针中不可用,可能是因为它已经被优化掉了

    使用vs 发布.net CORE 项目,调试遇到了“无法获取本地变量或参数的值,因为它在此指令指针中不可用,可能是因为它已经被优化掉了”这个问题,弄了半天才发现是发布的时候没有设置为debug,做个总 ...

  9. logstash处理@timestamp时区

    input { stdin { } } filter { #ruby { # code => "event.set('timestamp', event.get('@timestamp ...

  10. 文件批量加密重命名--python脚本AND mysql命令行导入数据库

    在考试中学生交上来的报告,需要进行一下文件名加密,这样阅卷老师就不知道是谁的报告了 在百度帮助下,完成了加密和解密脚本, 加密 #!/usr/bin/python # -*- coding: utf- ...