2011-11-18 36 views
10

Tôi đang tạo động một số yếu tố <div> và sau đó điền các thuộc tính innerHTML của mình bằng văn bản. Tôi đang cố gắng thiết lập các trình xử lý sự kiện onclick như sau:Javascript: Đặt onclick động và tự chuyển qua phần tử

myDiv.onclick = function() { alert("Hello!") }; 

Điều đó tôi có thể làm. Những gì tôi muốn làm là có thể truy cập vào giá trị/innerHTML (mới với Javascript và DOM, vì vậy tôi không chắc chắn về thuật ngữ nào là những gì tôi đang tìm kiếm) trong hàm onclick mới được xác định. Làm cách nào để truy cập dữ liệu của myDiv trong hàm đang được xác định cho thuộc tính onclick của nó? myDiv sẽ là một cái gì đó đơn giản như:

<div>StackOverflow</div> 

Bất kỳ trợ giúp nào sẽ được đánh giá cao!

+1

"Nội dung" là thuật ngữ chính xác mà tôi nghĩ. –

Trả lời

15

Trình xử lý onclick được thực thi trong ngữ cảnh của phần tử.

myDiv.onclick = function() { alert(this.innerHTML); }; 
+0

Doh! Đây chắc hẳn là thứ duy nhất tôi không thử. Cảm ơn rất nhiều! –

4

Bên trong trình xử lý, this sẽ tham chiếu đến phần tử.

myDiv.onclick = function() { alert(this.innerHTML) }; 

Tadaaa :).

+1

Cảm ơn bạn! Jan trả lời đầu tiên nhưng có một upvote. :) –

0

Tôi nghĩ rằng những gì bạn đang sau là:

Cá nhân tôi muốn tránh xa innerText (do các vấn đề trình duyệt) và sử dụng innerHTML như một quy luật

+0

Cảm ơn mẹo! –

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