javascript - 如果根據參數給table中的tr綁定不同事件
問題描述
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); } }
綁定相同函數,但是每個tr傳的參數不同,應該怎樣寫呢。現在這樣寫每個tr都被綁定最新賦值的參數。
問題解答
回答1: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) } 回答2:
// 給你寫個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 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>
相關文章:
1. docker 下面創建的IMAGE 他們的 ID 一樣?這個是怎么回事????2. 在應用配置文件 app.php 中找不到’route_check_cache’配置項3. html按鍵開關如何提交我想需要的值到數據庫4. objective-c - 自定義導航條為類似美團的搜索欄樣式5. ios - vue-cli開發項目webstrom會在stylus樣式報錯,飆紅,請大神幫忙6. html5 - 用Egret寫的小游戲,怎么分享到微信呢?7. css - BEM 中塊(Block)有木有什么標準 何時決定一個部分提取為塊而不是其父級的元素呢(Element)?~8. css3 - 怎么感覺用 rem 開發的不多啊9. css - width設置為100%之后列表無法居中10. python - 在pyqt中做微信的機器人,要在表格中顯示微信好友的名字,卻顯示不出來,怎么解決?
