Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改类并在jQuery中单击获取值_Jquery_Css - Fatal编程技术网

更改类并在jQuery中单击获取值

更改类并在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

我有以下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 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);
}