javascript - Bagaimana untuk mengikat peristiwa yang berbeza ke tr dalam jadual berdasarkan parameter
PHPz
PHPz 2017-05-16 13:22:03
0
2
625
function update() {
    var container = document.getElementById("ItemContainer");
    container.innerHTML = "";
    for(var i=0;i<this.bookMarkList.length;i++){        
        var name = this.ItemContainer[i].name;
        var tr = document.createElement('tr');              
        var td = document.createElement('td');
        tr.appendChild(td);
        tr.onclick =  function(){add(name);}; 
      container.appendChild(tr);
    }    
}

Fungsi yang sama terikat, tetapi parameter yang dilalui oleh setiap tr adalah berbeza.
Sekarang tulis seperti ini, setiap tr terikat kepada parameter yang ditetapkan terkini.

PHPz
PHPz

学习是最好的投资!

membalas semua(2)
过去多啦不再A梦
    for(var i=0;i<this.bookMarkList.length;i++){        
        (function(i){
            var name = this.ItemContainer[i].name;
            var tr = document.createElement('tr');              
            var td = document.createElement('td');
            tr.appendChild(td);
            tr.onclick =  function(){add(name);}; 
            container.appendChild(tr);
        })(i)
    }  
Peter_Zhu
// 给你写个demo吧
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<style>

</style>
<body>
<table id="ItemContainer" border="1" width="100"></table>
<script>
    function add (name) {
        alert(name);
    }
    function update() {
        var container = document.getElementById("ItemContainer");
        console.log(container);
        container.innerHTML = "";
        for(let i=0; i<5; i++) {        
            let name = i;
            let tr = document.createElement('tr');              
            let td = document.createElement('td');
            td.innerHTML = i;
            tr.appendChild(td);
            console.log(name)
            tr.onclick = function (){
                return add(name);
            }; 
          container.appendChild(tr);
        }  
    }
    update()  
</script>
</body>
</html>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!