0

JavaScript を使用して動的 HTML ページを作成しています。コードは次のとおりです。

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

関数はgetImage画像を返します...私の質問、どのようにして、JavaScriptまたはJquery各反復でその現在の行の属性を変更widthできますか。たとえば、 my getImagefunction の現在の行の画像属性を変更します。使用する$('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 に答える