为了账号安全,请及时绑定邮箱和手机立即绑定

做出来了,就是将列表内容写到文本框有a标签样式,不知道怎么去除求教。

<!doctype html>

<html>

<head>

    <meta charset="UTF-8">

    <title>下拉菜单</title>

<style type="text/css">

body,ul,li{ margin:0; padding:0; font-size:13px;}

ul,li{list-style:none;}

#divselect{width:186px; margin:80px auto; position:relative; z-index:10000;}

#divselect cite{width:150px; height:24px;line-height:24px; display:block; color:#807a62; cursor:pointer;font-style:normal;

padding-left:4px; padding-right:30px; border:1px solid #333333; 

background-color:url(xjt.png) no-repeat right center;}

#divselect ul{width:184px;border:1px solid #333333; background-color:#ffffff; position:absolute; z-index:20000; margin-top:-1px; display:none;}

#divselect ul li{height:24px; line-height:24px;}

#divselect ul li a{display:block; height:24px; color:#333333; text-decoration:none; padding-left:10px; padding-right:10px;}

</style>

   <script type="text/javascript">

window.onload=function(){

var box=document.getElementById('divselect'),

    title=box.getElementsByTagName('cite')[0],

    menu=box.getElementsByTagName('ul')[0],

    lis = box.getElementsByTagName('li');

    as=box.getElementsByTagName('a'),

        index=-1;

   

    // 点击三角时

    title.onclick=function(event){

      // 执行脚本

      event = event || window.event;

      menu.style.display = 'block';

      document.onkeyup = function(event){

       //如果按↓

       if(event.keyCode == 40){

       if(index<lis.length-1){

       index++;

       lis[index].style.backgroundColor = '#369';

       if(index>=1){

       lis[index-1].style.backgroundColor = '#fff';

       }

       }else{

       index = -1;

       lis[lis.length-1].style.backgroundColor = '#fff';

       lis[index+1].style.backgroundColor = '#369';

       index++;

       }

       }

       //如果按↑

       else if(event.keyCode == 38){

       if(index<=0){

       index=lis.length-1;

       lis[index].style.backgroundColor = '#369';

       lis[0].style.backgroundColor = '#fff';

       }else if(index>0){

       lis[index-1].style.backgroundColor = '#369';

       lis[index].style.backgroundColor = '#fff';

       index--;

       }

       }

       //如果按回车键

       else if(event.keyCode == 13){

       if(index>=0){

       title.innerHTML = lis[index].innerHTML;

       lis[index].style.backgroundColor ='#fff';

       index = -1;

       menu.style.display = 'none';

       }

       }

      }

      if(event.stopPropagation){

       event.stopPropagation();

      }else {

       event.cancelBubble();

      }

    }  

    

   // 滑过滑过、离开、点击每个选项时

   for(var i=0;i<lis.length;i++){

    lis[i].onmouseover =function(event){

    this.style.backgroundColor = '#369';

    }

    lis[i].onmouseout =function(event){

    this.style.backgroundColor = '#fff';

    }

    lis[i].onclick = function(event){

    title.innerHTML = this.innerHTML;

    menu.style.display = 'none';

    }

   }


   // 点击页面空白处时

   document.onclick =function(){

       // 执行脚本

       menu.style.display = 'none';

   }


 }

   </script>

</head>

<body>

<div id="divselect">

      <cite>请选择分类</cite>

      <ul>

         <li id="li"><a href="javascript:;" selectid="1">ASP开发</a></li>

         <li><a href="javascript:;" selectid="2">.NET开发</a></li>

         <li><a href="javascript:;" selectid="3">PHP开发</a></li>

         <li><a href="javascript:;" selectid="4">Javascript开发</a></li>

         <li><a href="javascript:;" selectid="5">Java特效</a></li>

      </ul>

    </div>

</body>

</html>


正在回答

1 回答

你显示的 是<li> 标签的 HTML内容,可不是有HTML内容.

可以用正则去掉HTML标签,

 function replaceHTML(html) {
       return html.replace(/<(?:[^"'>]*|"[^']*"|'[^"]*')*>/g, '');
 }

像这样:  title.innerHTML = this.innerHTML;  

title.innerHTML = replaceHTML(this.innerHTML)


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

做出来了,就是将列表内容写到文本框有a标签样式,不知道怎么去除求教。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信