JavaScript中对象的Value属性用法解答

<HTML><HEAD><TITLE>JavaScriptBook--代码7-10</TITLE><METAhttp-equiv=Content-Typecontent=... <HTML>
<HEAD>
<TITLE>JavaScript Book--代码7-10</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<style type="text/css">
<!--
.dis {
DISPLAY: block
}
.undis {
DISPLAY: none
}
#cntR {
WIDTH: 302px
}
#NewsTop {
CLEAR: both; MARGIN-BOTTOM: 16px
}
#NewsTop P {
FLOAT: left; LINE-HEIGHT: 21px
}
#NewsTop P.topTit {
FONT-WEIGHT: bold; WIDTH: 117px
}
#NewsTop P.topC0 {
BACKGROUND: #dcdcdc; BORDER-LEFT: #f2f2f2 1px solid; WIDTH: 40px; CURSOR: pointer
}
#NewsTop P.topC1 {
BACKGROUND: #c2130e; BORDER-LEFT: #f2f2f2 1px solid; WIDTH: 40px; COLOR: #fff
}
#NewsTop #NewsTop_tit {
BORDER-BOTTOM: #c2130e 3px solid; HEIGHT: 21px
}
#NewsTop #NewsTop_cnt {
PADDING-LEFT: 32px; LINE-HEIGHT: 26px; PADDING-TOP: 7px; HEIGHT: 260px; TEXT-ALIGN: left
}
#NewsTop #NewsTop_cnt A {
COLOR: #666; TEXT-DECORATION: none
}
#NewsTop #NewsTop_cnt A:hover {
COLOR: #c2130e; TEXT-DECORATION: underline
}
-->
</style>
</HEAD>
<BODY>
<DIV id=cntR>
<DIV id=NewsTop>
<DIV id=NewsTop_tit>
<P class=topTit>新闻排行</P> <!--数组占了0这个位置-->
<P class=topC0>国内</P>
<P class=topC0>国际</P>
<P class=topC0>社会</P>
</DIV>
<DIV id=NewsTop_cnt>
<SPAN title="Don't delete me"></SPAN> <!--数组占了0这个位置-->
<SPAN>
<A href="#" target=_self>中央宣讲团与西藏各族各界代表座谈侧记</A><BR>
<A href="#" target=_self>交通部全力救助东海海域遇险的巴拿马籍货船</A><BR>
</SPAN>
<SPAN>
<A href="#" target=_self>阿富汗6名部族长老遇袭身亡</A><BR>
<A href="#" target=_self>加拿大奥比斯等举办为中国农村眼科患者筹款活动</A><BR>

</SPAN>
<SPAN>
<A href="#" target=_self>图文:郑州闹市马路成了祭拜场</A><BR>
<A href="#" target=_self>光棍节广州男女争“脱光”忙“失明”</A><BR> </SPAN>
</DIV>

</DIV>
</DIV>
</BODY></HTML>
<SCRIPT language="JavaScript">
//获得有几个分类的P对象组数
var Tags=document.getElementById('NewsTop_tit').getElementsByTagName('p');
var TagsCnt=document.getElementsByTagName('SPAN');
var len=Tags.length;
var flag=1;
for(i=1;i<len;i++){
Tags[i].value = i;//关键点,加载鼠标事件
//this.value即为Tags[i].value
Tags[i].onmouseover=function(){changeNav(this.value)}; <!--为每一个标题设置了一个监听-->
TagsCnt[i].className='undis'; <!--每一个标题要显示的内容 一开始设为空,不显示-->
}
Tags[flag].className='topC1';
TagsCnt[flag].className='dis';
function changeNav(v){
Tags[flag].className='topC0';
TagsCnt[flag].className='undis';
//设置v为当前选中分类
flag=v;
//将当前选中的分类设置为选中状态
Tags[v].className='topC1';
TagsCnt[v].className='dis';
}
</SCRIPT>
在这一行代码的Script标签中,我不太明白for循环中的为什么要赋值Tags[i].value=i以及对Tags数组元素也就是p对象是否有Value属性感到怀疑,哪位JavaScript高手能不能帮我解答一下!谢谢啦!
展开
 我来答
小_盆_友
2009-08-25 · TA获得超过324个赞
知道小有建树答主
回答量:318
采纳率:0%
帮助的人:219万
展开全部
首先dom对象可以自定义属性但这种做法不推荐,所以p对象可以自定义任何属性

Tags[i].value=i 是为后面的changeNav传递参数,因为当mouseover触发时,for循环已经结束了所以不能用i值只好在循环时为每个p对象付给一个值,其实更好的解决办法是用闭包象这样
Tags[i].onmouseover=function(i){return function (){changeNav(i)}}(i);

楼主多加点分吧,看代码够累的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式