如何让Html代码更干净(Behaviour)

许多年以前,当我们的网页变得美观起来的时候,HTML也相应的臃肿了起来。
CSS的出现和发展,使得我们终于可以把HTML变得干净了。class,id也取代了font,color等标签的属性,几乎所有的美化我们都可以通过CSS来进行。
但是HTML和CSS的蜜月被JS破坏了。为了使页面交互能力更强,我们不得不在许多HTML标签里使用οnclick=”func()”,οnmοuseοver=”func();”这样的东西。例如yahoo首页,如果你查看它的HTML源代码,你将会发现很多onclick这样的东西。

如果我想知道一个元素中的HTML代码(innerHTML), 我不得不这样写

<span id="t1">
<a href="http://www.surfchen.org" onClick="alert(this.innerHTML);return false;">点我</a>
<a href="http://www.surfchen.org" onClick="alert(this.innerHTML);return false;">再点这个</a>
</span>

或许,有经验地js程序员会这样处理。

<span id="t1">
<a href="http://www.surfchen.org">点我</a>
<a href="http://www.surfchen.org">再点这个</a>
</span>
<script type="text/javascript">
<!--
for (i=0;c=document.getElementById("t1").getElementsByTagName("a").item(i);i++ )
{
	c.οnclick=function(){
		alert(this.innerHTML);
		return false;
	}
}
//-->
</script>

这样就让HTML代码美观好多了,但是有个缺点,就是for 语句必须放在HTML元素之后。。
更加高明一点的程序员会把这个for放在函数里,然后在window.onload调用该函数。这样可以使得不用在HTML元素输出后再写这个for.

<script type="text/javascript">
<!--
var js_style={
	'#t1 a':function(e)//指明了行为对象为id=t1下的所有a元素,e为当前的元素对象
	{
		e.οnclick=function()//给当前对象加上onclick事件
		{
			alert(this.innerHTML);
			return false;
		}
	},//这里用个逗号
      '#t2 a':function(e)//指明了行为对象为id=t1下的所有a元素,e为当前的元素对象
	{
		e.οnclick=function()//给当前对象加上onclick事件
		{
			alert(this.innerHTML);
			return false;
		}
	}
}
Behaviour.register(js_style);//注册上面的“js样式”
//-->
</script>
<span id="t1">
<a href="http://www.surfchen.org">点我</a>
<a href="http://www.surfchen.org">再点这个</a>
</span>
<span id="t2">
<a href="http://www.surfchen.org">点我</a>
<a href="http://www.surfchen.org">再点这个</a>
</span>
 转自:http://www.surfchen.org/?p=59
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值