我有一个页面有一堆下拉按钮,例如:
<div class=\"button middle dropdown\"><a href=\"#\">Engineer</a>
<ul>
<li><a href=\"#\">Name1</a></li>
<li><a href=\"#\">Name2</a></li>
</ul></div>
<div class=\"button middle dropdown\"><a href=\"#\">Engineer</a>
<ul>
<li><a href=\"#\">Name1</a></li>
<li><a href=\"#\">Name2</a></li>
</ul></div>
在同一页面上,我使用此 jQuery 将下拉按钮上的文本更新为选定的文本:
$(document).ready(function() {
$(".button.middle.dropdown ul li a").click(function() {
var oldtext = $(".button.middle.dropdown a").html();
var text = $(this).html();
$(".button.middle.dropdown a").html(text);
$(this).html(oldtext);
$(".button.middle.dropdown a ul").hide();
});
});
问题是这会更新页面上所有按钮的文本,而不仅仅是选择的那个。显然这样做是因为 jquery 代码在任何有.button.middle.dropdown a
. 我会添加id=""
到,<a>
但这些按钮是在加载页面时动态创建的(来自 sql 查询)。如何让下拉按钮仅更新按下的下拉按钮上的文本?