javascript - 获取点击类索引javascript

标签 javascript

我有 3 个 div 类:wpEdit 和 onClick:alertName()

<div class="wpEdit" onClick="alertName()">Bruce Lee</div>
<div class="wpEdit" onClick="alertName()">Jackie Chan</div>
<div class="wpEdit" onClick="alertName()">Jet li</div>

单击时我想知道单击的 Div 类 wpEdit 的索引:

function alertName(){
    //Something like this
    var classIndex = this.className.index; // This obviously dosnt work
    alert(classIndex); 
}

当点击李小龙时它应该提醒:0 当点击成龙时,它应该提醒:1 当点击李连杰时,它应该提醒:2

我需要知道点击了 class="wpEdit"的哪个实例

最佳答案

试试这个

function clickedClassHandler(name,callback) {

    // apply click handler to all elements with matching className
    var allElements = document.body.getElementsByTagName("*");

    for(var x = 0, len = allElements.length; x < len; x++) {
        if(allElements[x].className == name) {
            allElements[x].onclick = handleClick;
        }
    }

    function handleClick() {
        var elmParent = this.parentNode;
        var parentChilds = elmParent.childNodes;
        var index = 0;

        for(var x = 0; x < parentChilds.length; x++) {
            if(parentChilds[x] == this) {
                break;
            }

            if(parentChilds[x].className == name) {
                index++;
            }
        }

        callback.call(this,index);
    }
}

用法:

clickedClassHandler("wpEdit",function(index){
    // do something with the index
    alert(index);

    // 'this' refers to the element 
    // so you could do something with the element itself
    this.style.backgroundColor = 'orange';
});

关于javascript - 获取点击类索引javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13658236/

相关文章:

javascript - 确定是否选中了 jQuery 对象中的所有复选框,返回为 boolean 值

javascript - Kinetic 在点击时获取特定的形状 ID

javascript - Spip - 将数据从 Javascript 传递到隐藏的输入值

javascript - 无法使用document.getElementById捕获div的值

javascript - 文本区域 - 必需,但使用默认文本

javascript - google.visualization.PieChart 不是构造函数

javascript - 没有从 localStorage 获取与保存的变量相同的类型?

javascript - 为什么每一列都在不同的行中?

javascript - javascript中抽象方法的目的是什么?

javascript - React.js 转译问题。 Babel 构建命令不起作用