jQquery获取dom修改后的属性值

时间:2016-08-27 13:15:26

标签: javascript jquery

假设我使用以下函数修改了一个属性值:

$('#dd ul.dropdown li a').click(function(e) {
    var txt = $(e.target).html();
    var langs = $(e.target).text();
    $('#dd .currentlangs').html(txt);
    langs = langs.trim().toLowerCase().replace(/\s+/g, "-");
    $('.currentlangs').attr('data-lang', langs);
});

然后我想要一个keyup函数中的当前属性值,如:

var $input = $('#querysearch');
var dict = $('.currentlangs').attr('data-lang');
$input.on('keyup', function () {
   alert(dict);
});

需要的值是“dict”变量但是这样做我在加载DOM时不断获得初始值。如何在触发keyup函数时获取当前属性?

非常感谢

1 个答案:

答案 0 :(得分:1)

您在此行

时获取属性的值
var dict = $('.currentlangs').attr('data-lang');

运行。这是之前使用点击任何东西,所以你自然会得到HTML中定义的值。将其移动到 keyup处理程序:

var $input = $('#querysearch');
$input.on('keyup', function () {
   var dict = $('.currentlangs').attr('data-lang');
   alert(dict);
});

...以便在keyup事件发生时获得值。