javascript-在YUI中获取Clicked项目的索引
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-在YUI中获取Clicked项目的索引,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1493字,纯文字阅读大概需要3分钟。
内容图文
![javascript-在YUI中获取Clicked项目的索引](/upload/InfoBanner/zyjiaocheng/673/8402c42b7e97407bb55ecbf76ab52fea.jpg)
我有以下代码.
的HTML
<ul>
<li class="link"> link 1 </li>
<li class="link"> link 2 </li>
<li class="link"> link 3 </li>
<li class="link"> link 4 </li>
</ul>
Java脚本
YUI().use("node", function(Y){
Y.all(".link").on("click", function(em){
alert("you clicked on "+ index +"link .");
node = em.currentTarget;
node.addClass("clicked");
// alert(node.get("class"));
});
alert(Y.all("li").get("class"));
});
我对此有两个疑问.
1)在第一个警报时,它应该显示类名称“ link”,但它会给警报一些YUI_23123_随机数.为什么这样?
2)我也想提醒索引.例如,当用户单击第三个链接时,它应该警告“您单击了3个链接”,我也想在其他事件中使用此索引值.
我们如何实现该指标?
解决方法:
有趣的问题!
对于(1),Y.all(…)返回一个NodeList.不幸的是,一个nodeList的“ get”返回值奇怪地是另一个NodeList,它在打印警报时被解释为您看到的内容.使用“ getAttribute”而不是“ get”可以得到更合理的输出(尽管可能没有用).
对于(2),要实现所需的功能,您将需要显式循环NodeList或使用“ delegate”. Using “delegate”对于页面而言效率更高,并且允许您动态插入“ li”项,但是在成百上千个列表项中,“ indexOf”可能会变得很慢.
使用每个:
Y.all(".link").each(function (node, index) {
node.on("click", function(em){
alert("you clicked on "+ index +" link.");
node.addClass("clicked");
alert(node.getAttribute("class"));
});
});
使用委托:
Y.one('ul').delegate("click", function (em) {
var itemList = em.container.all('li');;
var node = em.currentTarget;
alert("you clicked on "+ itemList.indexOf(node) +" link.");
node.addClass("clicked");
alert(node.getAttribute("class"));
}, 'li');
内容总结
以上是互联网集市为您收集整理的javascript-在YUI中获取Clicked项目的索引全部内容,希望文章能够帮你解决javascript-在YUI中获取Clicked项目的索引所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。