Javascript 检查已单击的列表元素
我正在检查无序列表中单击了哪个Javascript 检查已单击的列表元素,javascript,Javascript,我正在检查无序列表中单击了哪个li。只有第一个li似乎有效,因为它将向0发出警报,但其余li不会发出警报节点列表应包含元素0,1,2。只有原始javascript HTML 问题在于: for (var c = 0; c < childs.length; i++) { for(var c=0;c
li
。只有第一个li
似乎有效,因为它将向0发出警报,但其余li
不会发出警报<代码>节点列表应包含元素0,1,2。只有原始javascript
HTML
问题在于:
for (var c = 0; c < childs.length; i++) {
for(var c=0;c
您可以使用元素c
来解析向量,但可以增加i
。将c
替换为i
,或者反过来
还可以在if语句中添加大括号,因为您使用的是jQuery,所以使用jQuery时100%使用它:) 这将起作用:) jQuery代码:
$(document).ready(function() {
$(".slideshow-buttons li").live("click", function() {
alert($(this).index());
});
});
首先用
c++
替换i++
,然后包括花括号
for (var c = 0; c < childs.length; *c*++) {
if (this == childs[c])*{*
alert (c);
break;
*}*
}
for(var c=0;c
您可以使用闭包
for (var i = 0; i < knappar.length; i++) {
var knapp = knappar[i];
knapp.onclick = (function(i){
return function(){
console.log(i, this); // this is the li you clicked, and i is the index
}
})(i);
}
for(变量i=0;i
Im没有使用Jquery。我制作了一个以美元符号作为标记的选择器。因为您忘记了在if(this==childs[c])周围用大括号括起来
;中断
总是会触发。是的,我注意到了,谢谢,我忘记了brakets。请说明你的代码的作用以及它是如何回答问题的。如果你得到一个代码片段作为答案,你可能不知道该如何处理它。答案应该为OP和未来的访问者提供关于如何调试和修复问题的指导。指出你t、 代码背后的想法对理解问题、应用或修改解决方案有很大帮助。
$(document).ready(function() {
$(".slideshow-buttons li").live("click", function() {
alert($(this).index());
});
});
for (var c = 0; c < childs.length; *c*++) {
if (this == childs[c])*{*
alert (c);
break;
*}*
}
for (var i = 0; i < knappar.length; i++) {
var knapp = knappar[i];
knapp.onclick = (function(i){
return function(){
console.log(i, this); // this is the li you clicked, and i is the index
}
})(i);
}