封装getElementsByClassName()】的更多相关文章

function getElementsByClassName(node,classname){             if(node.getElementsByClassName){                return node.getElementsByClassName(classname);         }else{          var results=new Array();          var elems=node.getElementsByTagName(…
function getElementsByClassName(oEle,sClass,sEle){ if(oEle.getElementsByClassName){ return oEle.getElementsByClassName(sClass); }else{ var aEle=oEle.getElementsByTagName(sEle || '*'), reg=new RegExp('(^|\\s)'+sClass+'($|\\s)'), arr=[], i=0, iLen=aEle…
众所周知,JS获取DOM有个getElementsByClassName,非常方便,但是呢,为了兼容某些浏览器(你懂的).只能 进行封装下了.解决方法如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, i…
<html> <head> <script type="text/javascript"> window.onload = function() { var topMenus = getClass('li','topMenu'); for(var i=0;i < topMenus.length; i++) { alert(topMenus[i].innerHTML); } } function getClass(tagName,classNam…
Element.prototype.getElementsByClassName = function(searchClass,node,tag){ if(document.getElementsByClassName){ var nodes = (node || document).getElementsByClassName(searchClass); var result = []; for(var i = 0;node = nodes[i++];){ if(tag !== "*"…
var getElmsByClsName = function(className, results) { results = results || []; // 判断浏览器是否支持 getElementsByClassName if(document.getElementsByClassName) { // 浏览器支持这个方法 results.push.apply( results, document.getElementsByClassName(className) ); } else {…
var getElmsByClsName = function(className, results) { results = results || []; // 判断浏览器是否支持 getElementsByClassName if(document.getElementsByClassName) { // 浏览器支持这个方法 results.push.apply( results, document.getElementsByClassName(className) ); } else {…
× 目录 [1]使用 [2]classList [3]扩展 前面的话 既然有getElementById()和getElementsByTagName()方法,为什么没有getElementsByClassName()呢?id属性.标签名.class属性并没有什么优劣之分啊.终于,HTML5新增了getElementsByClassName()方法,由于在CSS布局中类名的广泛使用,该方法正好切中痛点,使得通过类名选取元素不再麻烦,成为最欢迎的一个方法.接下来,本文将详细介绍该方法 使用 HTM…
获取ClassName元素 function getClass(classname,id){ if(document.getElementsByClassName){ if(id){ return $(id).getElementsByClassName(classname); }else{ return document.getElementsByClassName(classname); } if(id){ var allHtml = $(id).getElementsByTagName("…
/*华丽----------------------------------------------------------------------------------------------------------------------------------分割线*///获取元素样式// 获取的是计算机计算后的样式// 单一样式不能拿来判断// 复合样式的获取有兼容性问题// 可以使用如backgroundColor的属性// 不要有空格// 不要获取为设置的样式:不兼容// func…
继续昨天的封装,今天的部分继昨天选择器之后实现了css样式的获取和添加,attr的获取和添加和一部分事件的封装:只是我自己的理解,不妥之处欢迎大家在评论中提出,相互学习,共同提高 /** * Created by Jason on 2016/12/31. */ //jquery 的构造函数 function Jquery(arg){ //用来存选出来的元素 this.elemenets=[]; switch(typeof arg){ case 'function' : domReady(arg)…
今天是2017.1.1,新的一天,新的一年,新的一年里继续夯实基础知识,在工作中多些项目,多思考,多总结,前端是不断更新,在更新的过程中也是发现乐趣和挑战自我的过程,希望年轻的我和年轻的javascript在2017年中一同成长 今天又一次封装了一个盒jquery使用方法相同的库,每次写都有新的想法,我想着也是码农的乐趣之一吧, 今天代码只实现了jquery中部分常用选择器的功能,以后部分会继续更新其余部分,所有代码的注释已经写到行间的注释了,这仅仅是我自己的理解,不妥之处希望大家评论到下面,共…
web前端开发工作中常常会用到获取元素的className,用jQuery的$(".class")方法也可以获取className,但是有时候牵扯到数据而影响的加载顺序的原因会获取不到className,原生的js也有直接获取的方法document.getElementsByClassName("class");但是有兼容性问题.于是封装了一个原生js获取className的方法,代码如下: function getByClass(oParent,sClass)  …
随着最近几年Html5的兴起,越来越多的应用采用html5进行实现,一个优秀的网页应用不但需要美观简洁的UI界面,更需要一个良好的交互.网页应用大部分的交互需要用javascript事件进行实现.虽然当前存在大量的且功能强大的javascript库,但这些类库或者框架都经过函数封装,对于用户而言隐藏了内部实现机制(虽然可以查看和研究源代码,但是有多少童鞋能潜心研究呢?).定制或者构建一个自己的小javascript库,对于童鞋们提升前端开发水平来说,也具有重要的价值. 废话不多说,下面给出一个通…
大家好!今天继续给大家写一下ECMA中的剩下的小函数以及实用的实例: 首先先给大家说一下字符串.数组.数学方法以及json的一点小知识点: 字符串方法: str.length str.charAt(i):取字符串中的某一个; str.indexOf('e');找第一个出现的位置;找不到返回-1; str.lastIndexOf('e'):找最后一个e出现的位置;找不到返回-1; str.toUpperCase();转大写 str.toLowerCase();转小写 str.substring(起…
  先来回顾一下我们的字符串: 字符串方法: str.length str.charAt(i):取字符串中的某一个; str.indexOf('e');找第一个出现的位置;找不到返回-1; str.lastIndexOf('e'):找最后一个e出现的位置;找不到返回-1; str.toUpperCase();转大写 str.toLowerCase();转小写 str.substring(起始位置,结束位置):字符串截取; str.split('切割的方式');字符串切割;字符串转数组;数组方法:…
由于各个浏览器都支持的选择方法只有如下三种: 1 document.getElementById() 2 document.getElementsByName() 3 document.getElementsByTagName() 所以在封装选择器的时候要考虑浏览器的兼容性. <script>//封装id选择器 function $(selector){ var c=selector.substring(0,1);//获取第一个字符 if(c=="#"){ return d…
上一篇基本实现了框架结构,但是与真正能用上的项目框架比较还是存在很多不足,在这又做了些加强与优化 (function ( window, undefined ) { var arr = [], push = arr.push, slice = arr.slice, concat = arr.concat; // 构造函数 var YY = function YY ( selector ) { return new YY.fn.init( selector ); }; // 核心原型 YY.fn…
在前端开发的过程中,javascript极为重要的一个功能就是对DOM对象的操作,而对其封装就是为了更好地进行DOM操作,提高浏览器的支持效率 现在给出一个案例:页面创建三个div,然后给其添加样式 1.第一种方法 //第一种方法 var i, node; for ( i = 0; i < 3; i++ ) { node = document.createElement( 'div' ); node.setAttribute( 'class', 'c' ); //node.className =…
在上篇介绍了选择器的获取标签.id.类名的方法,现在我们在上篇基础上继续升级 1.问题描述:上篇get('选择器')已经实现,如果get方法里是一个选择器的父元素,父元素是DOM对象,那么如何获取元素 思路:1.首先想到的是标签.id.类名的三个方法  2.假设是body节点,那么方法中的document改成body 3.传入的参数如何判断是否为DOM 注意:在获取id方法中全局也只有一个id,所以其中的doument无须修改 修改如下 // 注释: 对获取DOM对象方法的封装 var getT…
选择器模块之传统做法 var tag = function (tag){ return document.getElementsByTagName(tag); } var id = function (id){ return document.getElementById(id); } var className = function (className){ return document.getElementsByClassName(className); } 由浅入深之tag方法 这是ht…
//接口封装:封装document.getElementByClassName()函数function getElementsByClassName (cName,domTag,root) {//该函数有三个参数:第一个参数是class名(必选,字串形式):第二个参数是父容器(可选),默认为body节点:第三个参数是该DOM节点的标签名(字串形式)    if (root) {        root = typeof root == "string" ? document.getEl…
一.DOM常用方法和属性复习 以下粗略的罗列一下DOM的常用方法和属性,由于不是介绍DOM的基础内容,所以就不一一详细说明各个方法和属性了(学习DOM的封装的,一般都对基础DOM比较熟悉了). 1.1.获取页面中元素的方法 document.getElementById() context.getElementsByTagName():把指定容器中子孙容器中所有标签名为TAGNAME的都获取到了 document.getElementsByName():在IE浏览器中只对表单元素的name起作用…
1.创建HTML文件(demo) <!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>jQuery Ajax</title> <script type="text/javascript" src="jquery-3.2.0.min.js"></sc…
4.1 显示等待WebDriverWait 前言:在脚本中加入太多的sleep后会影响脚本的执行速度,虽然implicitly_wait()这种隐式等待在一定程度上节省了很多时间.但是一旦页面上某些js无法加载出来(其实界面元素已经出来了),左上角那个图标一直转圈,这时候会一直等待的.一.参数解释1.这里主要有三个参数:class WebDriverWait(object):driver, timeout, poll_frequency2.driver:返回浏览器的一个实例,这个不用多说3.ti…
组件(component)是vue.js最强大的功能之一,它可以实现功能的复用,以及对其他逻辑的解耦.但经过一段时间的使用,我发现自己并没有在业务中发挥出组件的最大价值.相信很多刚开始使用vue的朋友都和我有相同的状况,在日常的开发中虽然也使用组件,但不知不觉就将组件当成了减少业务代码长度,展现代码结构的一种工具,并没有做到可复用,发挥组件的长处. 恰好,前几天有一个select下拉菜单的BUG,因为原生HTML不支持修改option的样式,所以就试着用div模拟select的同时,封装一个独立…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> div { width: 100px; height: 100px; background-color: tomato; margin: 10px; } </style> </h…
因为ie8一下不兼容                 document.getElementsByClassName()                 功能:通过class的名字获取符合条件的元素                   node.getElementsByClassName()                 指定node节点下,符合条件的元素.   所以我们自己封装一个兼容IE8以下,获取className节点的函数. //兼容IE8以下,获取className节点的元素. f…
1.javascript 加载的函数 window.onload = function(){} 2.封装的id函数 function $(id) { return document.getElementById(id); } //调用 $("id") 3.封装的数组id function $arr(array) { return document.getElementsByTagName(array); } //调用 $arr("数组") 4.自定义平均值函数 fu…
<ul class="list"> <li></li> <li></li> <li></li> <li></li> </ul> var jp = { "height":"354px", "image":"http://www.wookmark.com/images/thumbs/629761_woo…