我对 jquery 的了解非常有限,我希望能够从下拉选择中读取 Class 值。
最终列表有一些标记在下拉列表右侧,因此我无法使用标准选择和选项。
我创建了这个小提琴,你可以尝试读取这个值。
请原谅我没有最优雅的解决方案。或者也许我过度复杂化了需求。
所以你知道我读过的课程,我把我的语言存储在一个cookie中。
谢谢大家的帮助。
这是我的简单菜单列表。
<div id="language" >
<dl class="dropdown">
<dt><a href="#"><span>Change Language. </span></a></dt>
<dd>
<ul>
<li><a href="#">English<span class="flag-uk"></span></a></li>
<li><a href="#">English US<span class="flag-us"></span></a></li>
<li><a href="#">Français<span class="flag-fr"></span></a></li>
<li><a href="#">Deutsch<span class="flag-de"></span></a></li>
<li><a href="#">Español<span class="flag-es"></span></a></li>
<li><a href="#">Italiano<span class="flag-it"></span></a></li>
<li><a href="#">Polski<span class="flag-pl"></span></a></li>
<li><a href="#">Русский<span class="flag-ru"></span></a></li>
<li><a href="#">Português<span class="flag-br"></span></a></li>
</ul>
</dd>
</dl>
</div>
<span id="result"></span>
和jQuery
$(document).ready(function() {
$(".dropdown dt a").click(function() { $(".dropdown dd ul").toggle(); });
$(".dropdown dd ul li a").click(function() {
var $this= $(this),
text= $this.html(),
text2= $this.span,
text3= $this.a;
console.log($this); // debug test
console.log(text); //debug test
$(".dropdown dt a span").html(text);
$(".dropdown dd ul").hide();
$("#result").html("Selected value is: " + text3);
});
$(document).on('click', function(e) {
var $clicked = $(e.target);
if (! $clicked.parents().hasClass("dropdown"))
$(".dropdown dd ul").hide();
});
});