0

我正在使用 JavaScript 构建动态 HTML 页面,这是我的代码:

    for (var i = 0; i < getImage.length; i++) {
   $("#a1").append("<img src=\"" + getImage(images[i])+" \"width=\"90\""); 
      }

该函数返回一个图像......我的问题,getImage我如何在每次迭代中更改该当前行的属性,例如在我的函数中更改该当前行的任何图像属性。如果我使用它返回对象,但不引用当前行。我可以在该函数内的每次迭代中更改这些内容吗?所以结果我会得到:JavaScriptJquerywidthgetImage$('this')

<img src="1.jpg" width="20">
<img src="2.jpg" width="90" >

function getImage(i) {
// some code

// WANT TO CHANGE HERE THE IMG ATTRIBUTE OF <img src "" width="">
return image ;
}

这个想法当然是改变更多的属性......

4

3 回答 3

4

如果您希望能够从内部更改图像属性,getImage则不应使用字符串连接来构建图像标签。

尝试类似:

for (var i = 0; i < images.length; i++) {
  $("#a1").append(getImage(images[i])); 
}

和:

function getImage(input) {
   var $img = $('<img>').attr({
     src: '%your-source%', // maybe from input?!
     width: 100
   });

   // do other stuff with $img as needed

   return $img;
}
于 2013-01-15T14:27:10.723 回答
1

你不能像现在这样那样做。据我了解,getImage只需返回图像的 URL。而且它不能修改img标签的宽度。你可以这样做:

for (var i = 0; i < getImage.length; i++) {
  $("#a1").append("<img src=\"" + getImage(images[i]) + " \"width=\"" + images[i].width + "\""); 
}

假设您的images数组包含具有字段的对象srcwidth

或者你应该让你的 getImage 返回整个img标签 HTML:

for (var i = 0; i < getImage.length; i++) {
      $("#a1").append(getImage(images[i])); 
    }
function getImage(index) {
    // some code
    return "<img src=\"" + image + " \"width=\"" + width + "\"";
}
于 2013-01-15T14:26:27.490 回答
1

这可能有一些错误,但我只是想分享一个关于如何以另一种方式做到这一点的想法。

 for (var i = 0; i < getImage.length; i++) {
      $("#a1").append(getImage(images[i])); 
      }

    function getImage(i) {
       var s = // get the src
       var w = // width based on i 
       return "<img src=\"" + s+ " \"width=\"" + w+ "\"" ;
    }
于 2013-01-15T14:28:59.803 回答