<script>
function lselectTag(showContent,selfObj){
var tag = document.getElementById("ltags").getElementsByTagName("li");
var taglength = tag.length;
for(i=0; i<taglength; i++){
  tag[i].className = "";
  if(i==showContent){
    var jpnr="tmp/jp"+i+".htm";
    document.getElementById("lonebody").innerHTML=checknr(jpnr);
  }
}
selfObj.parentNode.className = "lselectTag";
}
</script>
<UL id=ltags>
  <LI class=lselectTag><A target="_self" onClick="lselectTag('0',this)" href="javascript:void(0)" onfocus="this.blur()">飞机票</A></LI>
  <LI><A target="_self" onClick="lselectTag('1',this)" href="javascript:void(0)" onfocus="this.blur()">火车票</A></LI>
</UL>
我想要动态改变网页字体的颜色,document.getElementById("body").style.color=ys;但这句好象该不了链接的颜色,所以我又用了这个
alinks=parent.document.getElementsByTagName("a");
for(i=alinks.length-1;i>-1;i--){alinks[i].style.color=ys;}
链接的颜色是改变了,但是在CSS文件中定义的鼠标悬停效果也没了,CSS里是这样的:
#ltags {PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 0px; WIDTH: 210px; PADDING-TOP: 0px; HEIGHT: 23px}
#ltags LI {WIDTH:65px; BACKGROUND: url(../images/tagleft.png) no-repeat left bottom; FLOAT: left; MARGIN-RIGHT: 1px; LIST-STYLE-TYPE: none; HEIGHT: 23px}
#ltags LI A {text-align: center; WIDTH:65px; PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: url(../images/tagright.png) no-repeat right bottom; FLOAT: left; PADDING-BOTTOM: 0px; COLOR: #999;LINE-HEIGHT: 23px; PADDING-TOP: 0px; HEIGHT: 23px; TEXT-DECORATION: none}
#ltags LI.lselectTag {BACKGROUND-POSITION: left top; MARGIN-BOTTOM: -5px; POSITION: relative; HEIGHT: 25px; WIDTH:70px;}
#ltags LI.lselectTag A {text-align:center; BACKGROUND-POSITION: right top; COLOR: #000; LINE-HEIGHT: 25px; HEIGHT: 25px; WIDTH:70px;}
请问用javascript怎么分别设置链接的字体颜色效果?因为这页里还有许多普通链接,而飞机票那个链接应该是不变色的,说我怎么能把飞机票那个链接取出来?

解决方案 »

  1.   

    当项目很多时,你那样写很没效率.<script>
    var choice;
    choice='fj';
    function lselectTag(selfObj){
    document.getElementById(choice).style.color="#999999";//设为你链接未选中时的颜色
    selfObj.style.color="black"; //设为你链接选中时的颜色
    document.getElementById("lonebody").innerHTML=checknr("tmp/t_"+selfObj.id+".htm");
    }
    </script>
    <UL id=ltags>
      <LI><A id='fj' target="_self" onClick="lselectTag(this)" href="javascript:void(0)" onfocus="this.blur()">飞机票</A></LI>
      <LI><A id='hc' target="_self" onClick="lselectTag(this)" href="javascript:void(0)" onfocus="this.blur()">火车票</A></LI>
    </UL>
      

  2.   

    漏了一句,下面红色那句的必须有
    <script>
    var choice;
    choice='fj';
    function lselectTag(selfObj){
    document.getElementById(choice).style.color="#999999";//设为你链接未选中时的颜色
    selfObj.style.color="black"; //设为你链接选中时的颜色
    choice=selfObj.id;document.getElementById("lonebody").innerHTML=checknr("tmp/t_"+selfObj.id+".htm");
    }
    </script>
    <UL id=ltags>
      <LI><A id='fj' target="_self" onClick="lselectTag(this)" href="javascript:void(0)" onfocus="this.blur()">飞机票</A></LI>
      <LI><A id='hc' target="_self" onClick="lselectTag(this)" href="javascript:void(0)" onfocus="this.blur()">火车票</A></LI>
    </UL>
      

  3.   

    是要这个效果么?
    LZ的代码有点支离破碎……只好以自己的猜测来写了 <style>
    #ltags {PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 0px; WIDTH: 210px; PADDING-TOP: 0px; HEIGHT: 23px}
    #ltags LI {WIDTH:65px; BACKGROUND: url(../images/tagleft.png) no-repeat left bottom; FLOAT: left; MARGIN-RIGHT: 1px; LIST-STYLE-TYPE: none; HEIGHT: 23px}
    #ltags LI A {text-align: center; WIDTH:165px; PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: url(../images/tagright.png) no-repeat right bottom; FLOAT: left; PADDING-BOTTOM: 0px; COLOR: #999;LINE-HEIGHT: 23px; PADDING-TOP: 0px; HEIGHT: 23px; TEXT-DECORATION: none}
    #ltags LI A:hover { COLOR: red;}
    #ltags LI.lselectTag {BACKGROUND-POSITION: left top; MARGIN-BOTTOM: -5px; POSITION: relative; HEIGHT: 25px; WIDTH:70px;}
    #ltags LI.lselectTag A {text-align:center; BACKGROUND-POSITION: right top; COLOR: #000; LINE-HEIGHT: 25px; HEIGHT: 25px; WIDTH:170px;}
     </style>
    <script>
    var lastselect = -1; //用于记录上一次选中的项目index
    function lselectTag(showContent,selfObj){
    var tag = document.getElementById("ltags").getElementsByTagName("li");
    var taglength = tag.length;
    if (lastselect> 0 ) tag[lastselect].className = ""; //将上次选中的项目还原(不包括飞机票的index 0)
    if(showContent > 0){ //选中的不是飞机票,则改变样式
    alert("不是飞机票");
    selfObj.parentNode.className = "lselectTag";
    //var jpnr="tmp/jp"+i+".htm";
    //document.getElementById("lonebody").innerHTML=checknr(jpnr);
    }
    lastselect = showContent; //将本次选中的项目index存入lastselect
    }
    </script>
    <UL id=ltags>
      <LI class=lselectTag><A target="_self" onClick="lselectTag('0',this)" href="javascript:void(0)" onfocus="this.blur()">飞机票</A></LI>
      <LI><A target="_self" onClick="lselectTag('1',this)" href="javascript:void(0)" onfocus="this.blur()">火车票</A></LI>
      <LI><A target="_self" onClick="lselectTag('2',this)" href="javascript:void(0)" onfocus="this.blur()">轮船票</A></LI>
    </UL>