0

現在、「teenused」という配列があり、「01」、「01」、「03」、「04」、「05」、「06」、「07」というコードで関数 GrindTeen を呼び出しています。

http://jsfiddle.net/sbJ9w/

コードと関数は次のとおりです。

function grindTeen(teenused) {
  for (var i = 0; i < teenused.length; i++) {
            var arrayItem = teenused[i];
            return('<img src="/bena/design/icons/B-icons-'+arrayItem+'.png" width="33" height="33">');
            }
};

この関数は、html 画像を含む文字列を返す必要がありますsrc。どうやら私は JavaScript に慣れていないようです。より良い方法について提案はありますか?


解決:

私の場合、私は非常に初心者だったので、XMLから配列ではなく文字列が返されたことを理解していませんでした-文字列を配列に変換する正しい解決策は次のとおりです。http://jsfiddle.net/SQQbe/13/

4

1 に答える 1

1

現時点ではreturn、関数から値を返すステートメントが含まれているため、ループは 1 回だけ繰り返されます。あなたがする必要があるのは、結果を保存し、最後にそれらを返すことです。

function grindTeen(teenused) {
  var images = [];
  var arrayItem = null;
  for (var i = 0; i < teenused.length; i++) {
       arrayItem = teenused[i];
       images.push('<img src="/bena/design/icons/B-icons-'+arrayItem+'.png" width="33" height="33">');
  }
  return images;
};

var teenImages = grindTeen(teenused);

// take the items in the teenImages list and make it into a string separated by space
var teenImagesHtml = teenImages.join(' '); 

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/joinについて詳しく読むことができます.join()

これが実際のフィドルです: http://jsfiddle.net/amyamy86/V4Rwh/

更新しました:

配列['01', '02', '03', '04', '05', '06']の場合、出力は次のようになります ( に入れられた場合<div>):

<div id="c">
    <img src="/bena/design/icons/B-icons-01.png" width="33" height="33">
    <img src="/bena/design/icons/B-icons-02.png" width="33" height="33">
    <img src="/bena/design/icons/B-icons-03.png" width="33" height="33">
    <img src="/bena/design/icons/B-icons-04.png" width="33" height="33">
    <img src="/bena/design/icons/B-icons-05.png" width="33" height="33">
    <img src="/bena/design/icons/B-icons-06.png" width="33" height="33">
</div>
于 2013-03-21T16:37:40.163 に答える