用Mootools获得操作索引的两种方法分享


Posted in Javascript onDecember 12, 2011

我们先说一下第一种方法,(此方法为一位QQ好友提供,感谢此人,此人昵称是:exf)

<body> 
<ul>Title1 
<li>11111</li> 
</ul> 
<ul>Title2 
<li>22222</li> 
</ul> 
<ul>Title3 
<li>33333</li> 
</ul> 
<ul>Title4 
<li>44444</li> 
</ul> 
<script type='text/javascript'> 
ul=$$('ul'); 
ul.addEvent('click',function(){ 
alert(ul.indexOf(this)); 
}); 
</script>

其实除了上边的方法外还有一种方法也能得到索引值,看下边的例子:
<body> 
<ul>Title1 
<li>11111</li> 
</ul> 
<ul>Title2 
<li>22222</li> 
</ul> 
<ul>Title3 
<li>33333</li> 
</ul> 
<ul>Title4 
<li>44444</li> 
</ul> 
<script type='text/javascript'> 
ul=$$('ul'); 
ul.each(function($I,i){ 
$I.onclick=function(){ 
alert(i); 
}; 
}) 
</script>

两种方法孰优孰劣一看便知,第一种方法需要再次使用indexOf函数判断,而第二种方式直接是作为参数把索引值传递进去了,就不需要额外的计算了.因此如果您需要获取索引值得时候推荐使用第二种方法.

下边我写了一个手风琴插件用来演示两种方法在实际应用过程中的表现.

<style type="text/css"> 
ul,li{font-size:12px;font-family:arial;padding:0;margin:0;} 
ul{width:300px;line-height:24px;font-weight:bold;background-color:#C1C2C1;border-bottom:1px solid #fff;text-indent:10px;} 
li{list-style:none;font-weight:normal;background-color:#e1e1e1;} 
</style> 
</head> 
<body> 
<ul>Title1 
<li>11111</li> 
</ul> 
<ul>Title2 
<li>22222</li> 
</ul> 
<ul>Title3 
<li>33333</li> 
</ul> 
<ul>Title4 
<li>44444</li> 
</ul> 
<script type='text/javascript'> 
var Acc=new Class({ 
Implements:[Options,Events], 

options:{ 


$Boxtit:false 

}, 

initialize:function(options){//初始化构造函数 


this.setOptions(options);//?置options 


if(!this.options.$Boxtit){return false;} 



this.Core(); 


}, 


Core:function(){ 



$Boxtit=this.options.$Boxtit; 



$Boxmsg=$Boxtit.getElement('li'); 



$Boxmsg.setStyle("display","none"); 



$Boxtit.each(function($I,i1){ 




$I.onclick=function(){ 





//i2=$Boxtit.indexOf(this);console.log(i1+'|'+i2);//??的i1和i2???上都是索引值 





$Boxmsg.setStyle("display","none"); 





this.getElement('li').setStyle("display",""); 




}; 


}) 

} 
}); 
new Acc({$Boxtit:$$('ul')}); 
</script>

只不过在上边的插件中为了提高效率,因此我使用了this,这样比用索引找寻DOM效率更高一些.
Javascript 相关文章推荐
js比较和逻辑运算符的介绍
Mar 10 Javascript
JQuery $.each遍历JavaScript数组对象实例
Sep 01 Javascript
js实现右下角提示框的方法
Feb 03 Javascript
javaScript中slice函数用法实例分析
Jun 08 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
Dec 15 Javascript
适用于javascript开发者的Processing.js入门教程
Feb 24 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
May 10 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
Nov 22 Javascript
利用VUE框架,实现列表分页功能示例代码
Jan 12 Javascript
js省市区级联查询(插件版&amp;无插件版)
Mar 21 Javascript
基于vue-router 多级路由redirect 重定向的问题
Sep 03 Javascript
jQuery AJAX与jQuery事件的分析讲解
Feb 18 jQuery
整理8个很棒的 jQuery 倒计时插件和教程
Dec 12 #Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
Dec 11 #Javascript
Jquery阻止事件冒泡 event.stopPropagation
Dec 11 #Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
Dec 11 #Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
Dec 11 #Javascript
FireFox下XML对象转化成字符串的解决方法
Dec 09 #Javascript
一个简单的js树形菜单
Dec 09 #Javascript
You might like
CodeIgniter安全相关设置汇总
2014/07/03 PHP
PHP面向对象程序设计实例分析
2016/01/26 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
jquery实现左右滑动式轮播图
2017/03/02 Javascript
vue-loader教程介绍
2017/06/14 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
浅谈JavaScript窗体Window.ShowModalDialog使用
2020/07/22 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
Python 查找字符在字符串中的位置实例
2018/05/02 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
对python指数、幂数拟合curve_fit详解
2018/12/29 Python
python实现大转盘抽奖效果
2019/01/22 Python
python获取地震信息 微信实时推送
2019/06/18 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
基督教卡片、励志礼品、家居装饰等:DaySpring
2018/10/12 全球购物
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
广告创意求职信
2014/03/17 职场文书
维修工先进事迹
2014/05/29 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
殡葬服务心得体会
2014/09/11 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
商业用房租赁协议书
2014/10/13 职场文书
法律服务所工作总结
2015/08/10 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
创业计划书之DIY自助厨房
2019/09/06 职场文书
常用的Python代码调试工具总结
2021/06/23 Python
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python