Javascript原型在html标记上添加一个观察点,而不是id或名称
我想在prototype js中的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或名称并使
标记上添加一个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
});