尝试创建一个伪下拉列表选项,我想要做的是,当点击li
时,<span></span>
的内容将替换为所点击的li
<的内容/ p>
问题在于它仅适用于第一次点击,而不适用于后续点击。我在这里错过了什么。
这是无序列表
<div id="dd" class="language-selection" tabindex="1"><span>Language</span>
<ul class="dropdown">
<li>Profile</li>
<li>Settings</li>
<li>Log out</li>
</ul>
</div>
这是jQuery代码:
jQuery('.language-selection ul li').click(function(){
var languageSelection = jQuery(this).text();
jQuery('.language-selection span').replaceWith(languageSelection);
});
答案 0 :(得分:1)
replaceWith
用作为参数传递给此方法的新内容替换实际元素,因为它首次运行。在第一次替换后没有span元素存在。
使用.text()
代替replaceWith
将文字设置为元素。:
jQuery('.language-selection span').text(languageSelection);