2

我想在<h4>标签上的原型 js 中添加一个观察语句,而不使用任何 id 或名称。所以例如我在html中:

 <h4>Some Item</h4>

在Javascript中我想做:

$(<h4>).observe('click', function() {
 //do some stuff here
});

我知道我可以在<h4>标签上添加一个 id 或 name 并使用它,但我如何在没有任何 id 或 name 标签的情况下做到这一点?

4

3 回答 3

3

我的原型生锈了,但我认为这会起作用。基本上它只是获取所有的<h4>s,遍历它们,并添加事件观察者。

$$('h4').each(function(h) {
  $(h).observe('click', function(e) {
    //do some stuff here
  }
});

如果你只想要第一个<h4>然后使用数组解引用:

$$('h4')[0].observe('click', function(e) {
  //do some stuff here
});

自然,如果您想要第二个,只需将零更改为一,等等。

于 2013-01-18T21:40:01.883 回答
1

据我所知,你不能。浏览器如何区分两个具有任何 id 的 h4?

你也可以做

<h4 onclick="">

但是你也可以给它一个ID。

于 2013-01-18T21:38:12.767 回答
1

PrototypeJS有一个invoke()方法可以遍历项目列表并在列表中的所有项目上运行相同的方法。

例如

$$('h4').invoke('observe','click',function(e){
    //handle event here
    //'this' is the element
    //'e' is the Event object
});
于 2013-01-22T01:24:08.667 回答