如何在单击时切换元素的innerHTML

How to toggle the innerHTML of element on click

本文关键字:元素 innerHTML 单击      更新时间:2024-06-27

如何使用纯JS在点击时切换元素的innerHTML?

(function(){
    var div = document.getElementById("hook");
    div.addEventListener("click", function(){
        div.innerHTML = "I've been clicked";
    }, false);
})();

http://jsfiddle.net/Z2UBs/1/

试试这个

(function(){
            var div = document.getElementById("hook");
            var curText = div.innerText;
            div.addEventListener("click", function(){
            if(this.innerText == curText){
                 div.innerText = "I've been clicked";
            }
            else{
                    div.innerText = curText;
            }
            }, false);
        })();

这是jsfiddle

最简单的方法(向您展示其背后的想法):

    (function(){
        var div = document.getElementById("hook");
        div.addEventListener("click", function(){
            var state1 = document.getElementById('t1').value;
            var state2 = document.getElementById('t2').value;
            if ( div.innerHTML == state1 ) {
                div.innerHTML = state2;
            }
            else if ( div.innerHTML == state2 ) {
                div.innerHTML = state1;
            }
            // add as many dynamic values as you wish here
            else {
                // to be on the safe side
                div.innerHTML = state1;
            }
        }, false);
    })();

小提琴

如果你想让它更有效率,那么引入布尔变量来表示当前状态。