更改类并在jQuery中单击获取值
我有以下HTML:更改类并在jQuery中单击获取值,jquery,css,Jquery,Css,我有以下HTML: <ul class="nav navbar-nav navbar-right"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> Changer la devises <span class="caret"></span></a> <ul cla
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> Changer la devises <span class="caret"></span></a>
<ul class="dropdown-menu dropdown-currency">
<li class="active"><a href="#" id="cad" data-sign="$CAN">Canadian Dollar</a></span></li>
<li><a href="#" id="usd" data-sign="$">American dollar</a></li>
<li><a href="#" id="eur" data-sign="€">Euro</a></li>
<li><a href="#" id="mxn" data-sign="$">Mexican Peso</a></li>
</ul>
</li>
</ul>
但它不起作用
你能帮帮我吗
将单击功能更改为以下内容:
$('.dropdown-currency > li > a').click(function(e) {
e.preventDefault();
$('.dropdown-currency > li').removeClass('active');
$(this).parent('li').addClass('active');
var currency = $(this).attr('id');
var sign = $(this).data('sign');
alert(currency);
alert(sign);
});
试试这个:
$('.dropdown-currency > li > a').click(function(e) {
e.preventDefault();
$('.dropdown-currency > li').removeClass('active');
$(this).toggleClass('active');
changeCurrency(e);
});
function changeCurrency(e) {
var currency = $(e.target).attr('id');
var sign = $(e.target).data('sign');
alert(currency);
alert(sign);
}
如果您希望使用单独的函数获取值。只需将事件对象作为参数发送到函数。为什么不试试这段代码
$('.dropdown-currency > li > a').click(function(e) {
alert($(this).attr('id'));
alert($(this).attr('data-sign'));
e.preventDefault();
$('.dropdown-currency > li').removeClass();
$(this).parent().addClass('active');
});
https://jsfiddle.net/up1v5j0z/8/
希望这会有所帮助
试试这个
$('.dropdown-currency li a').click(function(e) {
e.preventDefault();
$('.dropdown-currency li').removeClass('active');
$(this).parent().addClass('active');
changeCurrency();
});
function changeCurrency() {
var currency = $('.active a').attr('id');
var sign = $('.active a').data('sign');
alert(currency);
alert(sign);
}
它不删除初始活动项。它不为新项放置活动类。它不删除初始活动项类。请尝试更新的类。我管理颜色更改供您参考。如果我理解正确,我想您忘记在第3行添加
>a
:Winner!谢谢@Mavericks976!
$('.dropdown-currency li a').click(function(e) {
e.preventDefault();
$('.dropdown-currency li').removeClass('active');
$(this).parent().addClass('active');
changeCurrency();
});
function changeCurrency() {
var currency = $('.active a').attr('id');
var sign = $('.active a').data('sign');
alert(currency);
alert(sign);
}