JavaScript相关文章推荐
判断js数组包是否包含某个元素
要判断数组中是否包含某个元素,从原理来来说,就是遍历整个数组,然后判断是否相等,我们来造个轮子,名字就山寨PHP的数组函数in_array()
view sourceprint?
1 Array.prototype.in_array = function(e)
2 {
3 for(i=0;i<this.length;i++)
4 {
5 if(this[i] == e)
6 return true;
7 }
8 return false;
9 }
或者
view sourceprint?
1 Array.prototype.in_array = function(e)
2 {
3 for(i=0;i<this.length && this[i]!=e;i++);
4 return !(i==this.length);
5 }
Filed under: JavaScript Array 发表评论 判断一个元素(对象)是否为另一个元素的子元素
js通过contains和compareDocumentPosition方法来确定DOM节点间的关系,判断一个元素(对象)是否为另一个元素的子元素
首先自己写一个:
view sourceprint?
1 function isParent(obj,pobj){
2 do{
3 obj = obj.parentNode;
4 if(obj==pobj){
5 return true;
6 }
7 }while(obj.tagName!='BODY');
8 return false;
9 }
Filed under: JavaScript 未分类 发表评论 js通过classname来获取元素
原生JS有3种方式来获取元素:
getElementById('id')
getElementsByName('name')
getElementsByTagName('tag')
getElementById是获取元素最快的方式,但我们不能给每个HTML元素都加以ID吧,所以我们需要一个很方便的通过classname来获取元素:
view sourceprint?
01 function getElementsByClassName(className,tagName){
02 var ele=[],all=document.getElementsByTagName(tagName||"*");
03 for(var i=0;i<all.length;i++){
04 if(all[i].className==className){
05 ele[ele.length]=all[i];
06 }
07 }
08 return ele;
09 }
10 console.log(getElementsByClassName("entry"));
11 console.log(getElementsByClassName("entry","div"));
Filed under: JavaScript className 前端开发 发表评论 jQuery hasClass(),jQuery判断元素是否含有className
jQuery中的hasClass(selector)
返回值
Boolean
参数
class (String) : 用于匹配的类名,注意不需要加"."
检查当前的元素是否含有某个特定的类,如果有,则返回true。
这其实就是 is("." + class)。我们看下源代码:
view sourceprint?
1 function (selector) {
2 return this.is("." + selector);
3 }
Filed under: jQuery javaScript className 发表评论 返回两个数组中不同的元素,求数组反集
有两个数组
view sourceprint?
1 var a=['1','2','3','4']
2 var b=['1','2']
如何比较才能返回两个数组中不同的元素,其实就是求两个数组的反集,得到数组c=['3','4']
基本的算法就是比较两个数组的元素,把不同的挑出来放到一个数组里,最后返回该Array
我在上一篇文章中山寨了一个JS版的in_array函数
Filed under: JavaScript Array 发表评论 jquery.add()追加元素
我们先来看下jQuery官方文档上add()方法的使用
1)add(expr) 在原对象的基础上再附加符合指定表达式的jquery对象
2)add(el) 在匹配对象的基础上再附加指定的dom元素。
3)add(els) 在匹配对象的基础上再附加指定的一组对象,els是一个数组。
4)add(html)在匹配对象的基础上再附加指定的一段HTML片段
Filed under: 前端开发, jQuery add 发表评论 jQuery获得元素位置
jquery 中有两个获取元素位置的方法offset()和position(),这两个方法之间有什么异同
offset():
获取匹配元素在当前视口的相对偏移。
返回的对象包含两个整形属性:top 和 left。此方法只对可见元素有效。
.offset()方法可以让我们重新设置元素的位置。这个元素的位置是相对于document对象的。如果对象原先的position样式属性是 static的话,会被改成relative来实现重定位。
position():
获取匹配元素相对父元素的偏移。
Filed under: jQuery 绝对定位 offset 发表评论 javascript获取Dom节点元素
在前端开发中,经常要通过JavaScript来获取页面中某个DOM元素,然后更新该元素的样式、内容等。如何获取要更新的元素,是首先要解决的问题。令人欣慰的是,使用JavaScript获取DOM节点的方法有很多种,这里简单做一下总结:
1. 通过顶层document节点获取:
Filed under: JavaScript DOM 发表评论 原生JavaScript给元素增加className
jquery的addClass如何用原生javascript实现?
class是元素的属性,所以我们可以通过setAttribute来获取class
这里需要注意的是class在IE中是保留关键字
所以我们获取某个元素的class时需要用className来代替class
className在所有浏览器