Javascript Can';无法使用jQuery获取更改的图像宽度

Javascript Can';无法使用jQuery获取更改的图像宽度,javascript,jquery,dom,Javascript,Jquery,Dom,我有一个页面显示了许多图像中的一个图像。我将所有图像存储在json对象(photoarr)中,因此为了来回导航,我使用以下函数: function setPhoto(index) { var photo = photoarr[index]; $('#photoId').text(photo.id); $('#photo').attr({ 'src': photo.url, 'alt': photo.title }); $('#photoTitle').text(photo.tit

我有一个页面显示了许多图像中的一个图像。我将所有图像存储在json对象(photoarr)中,因此为了来回导航,我使用以下函数:

function setPhoto(index) {
  var photo = photoarr[index];
  $('#photoId').text(photo.id);
  $('#photo').attr({ 'src': photo.url, 'alt': photo.title });
  $('#photoTitle').text(photo.title);
  $('#photoWidth').text(photo.width);
  $('#photoHeight').text(photo.height);
  $('#photoTitle').width($('#photo').width());
}
我的挑战是,当我到达最后一行时,试图将
#photoTitle
宽度设置为与
#photo
宽度
$('#photo')匹配。width()
为0(零)

就好像我需要“刷新”我所做的DOM更改,以实际获得新的图像宽度

如果以上任何一项有意义,请让我知道该怎么做


提前谢谢

您可以尝试以下方法

function setPhoto(index) {
  var photo = photoarr[index];

  var img = new Image();
  img.src = photo.url;
  img.onload = function(){

    $('#photoId').text(photo.id);
    $('#photo').attr({ 'src': this.src, 'alt': photo.title });
    $('#photoTitle').text(photo.title);
    $('#photoWidth').text(this.width);
    $('#photoHeight').text(this.height);
    $('#photoTitle').width(this.width);

  }
}

你可以试试类似的东西

function setPhoto(index) {
  var photo = photoarr[index];

  var img = new Image();
  img.src = photo.url;
  img.onload = function(){

    $('#photoId').text(photo.id);
    $('#photo').attr({ 'src': this.src, 'alt': photo.title });
    $('#photoTitle').text(photo.title);
    $('#photoWidth').text(this.width);
    $('#photoHeight').text(this.height);
    $('#photoTitle').width(this.width);

  }
}

你可以试试类似的东西

function setPhoto(index) {
  var photo = photoarr[index];

  var img = new Image();
  img.src = photo.url;
  img.onload = function(){

    $('#photoId').text(photo.id);
    $('#photo').attr({ 'src': this.src, 'alt': photo.title });
    $('#photoTitle').text(photo.title);
    $('#photoWidth').text(this.width);
    $('#photoHeight').text(this.height);
    $('#photoTitle').width(this.width);

  }
}

你可以试试类似的东西

function setPhoto(index) {
  var photo = photoarr[index];

  var img = new Image();
  img.src = photo.url;
  img.onload = function(){

    $('#photoId').text(photo.id);
    $('#photo').attr({ 'src': this.src, 'alt': photo.title });
    $('#photoTitle').text(photo.title);
    $('#photoWidth').text(this.width);
    $('#photoHeight').text(this.height);
    $('#photoTitle').width(this.width);

  }
}

工作起来很有魅力!:-)工作起来很有魅力!:-)工作起来很有魅力!:-)工作起来很有魅力!:-)