0

我有这个代码:

( function() {
  var i, ii, e = Elements.Select('.drop');
  for ( i = 0, ii = e.length; i < ii; i++ ) {
    e [ i ].onclick = function () {
      alert ( e [ i ].getAttribute('data-open') );
    }
  }
})();

我所做的是,当单击具有 className 'drop' 的元素时,会提醒我单击的元素的属性。但不起作用的。

这段代码是我用来通过她的类名选择一个元素的代码。不要太在意,它只是向我们展示只是向他们展示我是如何选择元素的。

(function() {
  Select : function ( element ) { 
  var object, index  = element.substr( 0, 1 ), name = element.substr( 1, element.length ),      clases = [ ], i, all = document.body.getElementsByTagName("*"); 
  switch ( index ) { 
    case '.' : 
      for ( i = 0; i < all.length; i ++ ) { 
        if ( all [ i ].className == name ) {   
          clases.push( all [ i ] ); 
        } 
      } 
      object = clases; 
    break;  
    return object 
    } 
  } 
})();

¿ 答案?

4

2 回答 2

1
( function() {
  var i, ii, e = Elements.Select('.drop');
  for ( i = 0, ii = e.length; i < ii; i++ ) {
    e [ i ].onclick = function () {
      //by the time that this gets executed, the for loop is ended, thus i equals ii
      // instead of using e[i]... try using this : 
      alert (this.getAttribute('data-open'));
      alert ( e [ i ].getAttribute('data-open') );
    }
  }
})();
于 2012-04-05T05:12:01.510 回答
-1

您可以为此使用 jquery。这里,“this”关键字为您提供了当前单击的元素。此函数在类名为“drop”的任何元素的单击事件上触发。

$(".drop").click( function(){
   var x=$(this).attr("data-open");
});
于 2012-04-05T05:11:04.237 回答