2012-06-13 45 views
19

Tôi đang tự động thêm cột vào một bảng bằng cách sử dụng document.createElement("th")Thêm sự kiện onClick để document.createElement ("th")

var newTH = document.createElement('th'); 

Có cách nào để thiết lập một thuộc tính onClick cho điều này để người dùng có thể xóa các bằng cách nhấp vào tiêu đề? Bất kỳ sự trợ giúp nào đều sẽ là tuyệt vời. Nếu không thể thực hiện điều này, bạn có thể đặt thứ gì đó trong

newTH.innerHTML 

để làm cho nó hoạt động?

Trả lời

39
var newTH = document.createElement('th'); 
newTH.innerHTML = 'Hello, World!'; 
newTH.onclick = function() { 
    this.parentElement.removeChild(this); 
}; 

var table = document.getElementById('content'); 
table.appendChild(newTH); 

dụ làm việc: http://jsfiddle.net/23tBM/

Bạn cũng có thể chỉ ẩn với this.style.display = 'none'.

+0

điều này loại bỏ thành công tiêu đề, bất kỳ ý tưởng nào cũng có thể loại bỏ các ô bên dưới nó? –

+0

@daniellanger Điều đó trở nên phức tạp hơn. – trumank

+0

đã tìm ra. cảm ơn bạn –

8
var newTH = document.createElement('th'); 
newTH.onclick = function() { 
     //Your code here 
} 
+0

cảm ơn, tạo sự kiện! bất kỳ ý tưởng nào về cách đơn giản để ẩn phần tử đó trong hàm? Nó không có một ID hoặc lớp học mà làm cho nó một chút khó khăn –

+0

@ daniellanger Nhìn vào câu trả lời của tôi. – trumank

2
var newTH = document.createElement('th'); 
newTH.addEventListener('click', function(){ 
    // delete the column here 
}); 
+0

Cảm ơn công trình Perfect A ++ –

Các vấn đề liên quan