JavaScript中获取元素索引的函数_javascript技巧

 这是我在写结构/表现/行为完全分离的选项卡(jQ版和原生JS版)一文时发现的问题. 今天一个朋友也问到我这个问题, 这个函数的确很实用. 和大家分享一下我的实现方法.
代码:

复制代码 代码如下:

function index(current, obj){
for (var i = 0; i < obj.length; i++) {
if (obj[i] == current) {
return i;
}
}
}

原理:
通过一个for循环遍历找出当前集合中与当前元素相等的元素,那么该元素的下标值即是当前元素在元素集合中的索引值.

优化下:

复制代码 代码如下:

 
function index(current, obj){
for (var i = 0, length = obj.length; i<length; i++) {
if (obj[i] == current) {
return i;
}
}
}

时间: 2024-09-22 06:09:34

JavaScript中获取元素索引的函数_javascript技巧的相关文章

javascript中获取class的简单实现_javascript技巧

js中没有获取class的办法,找了一些封装好的方法,这里整理一下 (1)先进行封装 //封装getClass function getClass(tagName,className) //获得标签名为tagName,类名className的元素 { if(document.getElementsByClassName) //支持这个函数 { return document.getElementsByClassName(className); } else { var tags=document

详解JavaScript中的Unescape()和String() 函数_javascript技巧

JavaScript中的Unescape()和String() 函数详解,具体内容如下所示: 定义和用法 JavaScript unescape() 函数可对通过 escape() 编码的字符串进行解码. 语法 unescape(string) 参数 描述 string 必需.要解码或反转义的字符串. 返回值 string 被解码后的一个副本. 说明 该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx

在JavaScript中获取请求的URL参数_javascript技巧

当然我们可以在后台中获取参数的值,然后在前台js代码中获取变量的值,具体做法请参考我的这篇文章:JavaScript获取后台C#变量以及调用后台方法. 其实我们也可以直接在js中获取请求的参数的值,通过使用window.location.search可以获取到当前URL的?号开始的字符串,如前面的链接获取到的search为?id=001.再对获取的字符串进行处理,就可以获取到参数的值了. 复制代码 代码如下: function getUrlParam(name) { var reg = new

javascript中获取选中对象的类型_javascript技巧

在Javascript中 利用 document.selection 可以创建 textRange. 但其实不是什么时候都可以创建的. 我们可以利用 document.selection.type 来判断当前选中的是文本还是对象. document.selection.type 返回三个值 "None" "Text" "Control" 只有当返回值是 Text 时,创建的textRange才是有效的.

JavaScript中获取时间的函数集_javascript技巧

下面给大家介绍下js获取时间的函数集. $(function(){ var mydate = new Date(); var t=mydate.toLocaleString(); $("#time").text(t); $("#time").load("Untitled-1.html"); }); 获取JavaScript 的时间使用内置的Date函数完成 var mydate = new Date(); mydate.getYear(); //

也说JavaScript中String类的replace函数_javascript技巧

对回调函数的参数说明也很准确: 第一个参数是匹配到的字符串,最后一个是原字符串,倒数第二个参数是匹配到的字符串的在原字符串索引的起始位. 但我很好奇,第二到倒数第三之间的参数又是些什么呢?其实,W3school已经给出了答案: 复制代码 代码如下: replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串.其语法为: stringObject.replace(regexp/substr,replacement) replacement 可以是字符串,也可以

浅析JavaScript中的常用算法与函数_javascript技巧

代码使用方法: 0001:判断一个计算结果是不是无穷大:if(isFinite(999999999*999999999) == true)----------------------------------------------------------------------------------------------------0002:判断是不是数字:if(isNaN("Blue") == true),不是数字则为true,是数字则为false.---------------

javascript 触发HTML元素绑定的函数_javascript技巧

复制代码 代码如下: if (document.createEvent) { var clickEvent = document.createEvent("MouseEvents"); clickEvent.initEvent("click", false, true); this.fileEl.dom.dispatchEvent(clickEvent);//ff } else if (document.createEventObject) { this.fileE

javascript中获取元素标签中间的内容的实现方法_javascript技巧

使用ajax,通过会把服务器端响应获取到reponseText或者reponseXML中的信息,以某种方法动态的写到div和span标记中,这样,可以在无刷新的情况下,改变页面内容的显示. 通过javascript进行动态的修改,修改的方法有两种: 1. 一种是使用html的每个标记的innerHTML属性,使用此属性,只要为它提供一个有意义的html代码片段,那么html解释器就可以将其中的内容进行解释,并显示在页面上,使用这种方式比较简单,每次修改前不需要先把原来的内容清除掉,而可以直接进行