Javascript原型在html标记上添加一个观察点,而不是id或名称

Javascript原型在html标记上添加一个观察点,而不是id或名称,javascript,html,prototype,prototypejs,dom-events,Javascript,Html,Prototype,Prototypejs,Dom Events,我想在prototype js中的标记上添加一个observe语句,而不使用任何id或名称。例如,我在html中有: <h4>Some Item</h4> 某个项目 在Javascript中,我希望执行以下操作: $(<h4>).observe('click', function() { //do some stuff here }); $()。观察('click',函数(){ //在这里做些事情 }); 我知道我可以在标签上添加一个id或名称并使

我想在prototype js中的
标记上添加一个observe语句,而不使用任何id或名称。例如,我在html中有:

 <h4>Some Item</h4>
某个项目
在Javascript中,我希望执行以下操作:

$(<h4>).observe('click', function() {
 //do some stuff here
});
$()。观察('click',函数(){
//在这里做些事情
});

我知道我可以在
标签上添加一个id或名称并使用它,但是如果没有任何id或名称标签,我怎么做呢?

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

你也可以

<h4 onclick="">


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

我的原型已经生锈了,但我想这会有用的。基本上,它只是获取所有的
,循环它们,并添加事件观察者

$$('h4').each(function(h) {
  $(h).observe('click', function(e) {
    //do some stuff here
  }
});
如果只需要第一个
,则使用数组解引用:

$$('h4')[0].observe('click', function(e) {
  //do some stuff here
});
当然,如果您想要第二个,只需将0更改为1,以此类推。

有一个
invoke()
方法,该方法将在项目列表中迭代,并对列表中的所有项目运行相同的方法

比如说

$$('h4').invoke('observe','click',function(e){
    //handle event here
    //'this' is the element
    //'e' is the Event object
});