-2

「これ」に少し問題があります...すべてのdivでstart()を機能させたいです。しかし、それは HTML div obj を返すようなものです。

function init(){
    box = [];
    box = document.getElementsByTagName('div');
    for (i = 0; i < box.length; i++) {
    box[i].addEventListener('click', start, false);
}

function start(e,id) {
    e = e || window.e;
    var posX = e.clientX,
    posY = e.clientY;
    console.log(posX,posY);
    //a = this.id;
    a = document.getElementById(this.id);
    alert(a); 
}

外には2つのdivがあります:

<div id="one"></div>
<div id="two"></div>

「a = this.id」だけをログに記録しようとすると機能します...現在クリックされているdiv-idを参照しようとしても、「this」では機能しません...何を忘れましたか? 助けてください!

4

1 に答える 1

0

adomオブジェクトを指しているからです

試す

a = document.getElementById(this.id);
alert(a.id); 

または

a = document.getElementById(this.id);
alert(a.getAttribute('id')); 
于 2013-04-30T04:57:58.553 に答える