做出來了,就是將列表內容寫到文本框有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>
2019-10-23
你顯示的 是<li> 標簽的 HTML內容,可不是有HTML內容.
可以用正則去掉HTML標簽,
像這樣:??title.innerHTML = this.innerHTML;??