Если вы не хотите использовать такую библиотеку, как jQuery, вот один из способов справиться с этим:
var tags = ['h1','h2','h3','h4','h5','h6'];
for( var i in tags ){
var these = document.getElementsByTagName(tags[i]);
if( these.length ){
for( var n=0,m=these.length;n<m;n++ ){
these[n].addEventListener('click',function(){
alert('hello');
},false);
}
}
}
Пример: http://jsfiddle.net/redler/HvvVQ/
Как указывает @Shadow Wizard вкомментарии, IE использует attachEvent
вместо addEventListener
, поэтому, чтобы это работало во всех браузерах, вам понадобится код, который работает в обоих направлениях.Если вы хотите избежать кроличьей дыры в различиях и многословии браузера, то же самое можно сделать в jQuery, например:
$('h1,h2,h3,h4,h5,h6').click( function(){
alert('hello');
});
Еще более кратко, благодаря комментарию @ Kobi, это :header
:
$(':header').click( function(){...} );
Я бы порекомендовал вам воспользоваться библиотекой по вашему выбору, чтобы сделать подобные вещи намного проще.