导航下拉菜单选中选项后消失问题求助(HTML/JS)
问题原因
你在tiptip函数里直接把点击的<a>元素(e)赋值给了按钮的HTML内容,这会导致该<a>元素从下拉菜单中被移动到按钮内部,所以下拉菜单里的对应选项就消失了。
修复方案
修改tiptip函数,只获取<a>元素的文本内容,而不是移动整个元素:
<div class="dropdown"> <button onclick="myFunction()" class="dropbtn">Year</button> <div id="myDropdown" class="dropdown-content"> <a onclick="tiptip(this)">2000</a> <a onclick="tiptip(this)">2001</a> <a onclick="tiptip(this)">2002</a> </div> </div> <script> function tiptip(e) { // 只获取元素的文本内容,而不是整个元素节点 $('.dropbtn').text(e.textContent); } </script>
也可以用jQuery的text()方法实现:
function tiptip(e) { $('.dropbtn').text($(e).text()); }
另外要给所有年份的<a>标签都加上onclick="tiptip(this)",不然只有2000能触发文本替换逻辑。
内容的提问来源于stack exchange,提问作者useer2332
相关产品推荐
相关产品推荐

