jQuery 从嵌套函数中获取触发事件的元素的 ID

jQuery get id of element that triggered event from nested function

如何从 getJSON 函数中获取 ".item" 元素的 ID?

jQuery(document).ready(function() {

    $(".item").tooltip({
        items: "div",
        content: function(callback) {

            $.getJSON('mydata.json', function(data) {

                var country = event.target.id;

                console.log(country);

            });

        }

    });

});

我看过解释 here,但我不确定在我的案例中如何通过事件。

我会这样做

jQuery(document).ready(function() {

    $(".item").tooltip({
        items: "div",
        content: function(callback, this) {
                        var $obj = $(this);
            $.getJSON('mydata.json', function(data, $obj) {

                var country = event.target.id;

                console.log(country);
                console.log($obj.attr("id"));

            });

        }

    });

});

尝试使用

$(this)

访问当前元素,然后可以使用

访问它的ID

$(this).attr('id')

http://jqueryui.com/tooltip/#custom-content

在您的 content 回调中,this 指的是其工具提示被调用的元素,因此您可以使用 this.id 获取当前元素的 id

jQuery(function ($) {
    $(".item").tooltip({
        items: "div",
        content: function (callback) {
            var el = this;
            $.getJSON('mydata.json', function (data) {
                var country = el.id;
                console.log(country);
            });
        }
    });
});