如何访问imgWidth的值?这给了我undefined

somejQueryMethod(function() {
    var imgWidth;
    $("<img/>").attr(
        "src",
        $("#SomeImgSelector").attr("src")
    ).load(function() {
        imgWidth = this.width;
    });
    // use imgWidth here
    // imgWidth is undefined here
});

最佳答案

您无法在此处使用该值,因为它尚不存在。加载内容后,load命令中的回调函数将运行,并且使用load命令的函数结束后,将发生回调函数。

将需要该值的代码放在load命令的回调函数中:

...somejQueryMethod(
    function() {
        var imgWidth;
        $("<img/>").attr("src", $("#SomeImgSelector").attr("src")).load( function() {
          imgWidth = this.width;
          // use imgWidth here
        } );
    }
);

10-02 16:58