0

私は配列と要素を持っています。彼らは同様のIDを持っています:

Step2_Visits_0__CountryCode
Step2_Visits_1__CountryCode
Step2_Visits_2__CountryCode
Step2_Visits_3__CountryCode
Step2_Visits_4__CountryCode

この配列の名前は「visitCountries」です。

"loop for" を使用し、各要素 tag の後に追加します。

例えば:

for(var i=0; i < 20; i++) {
$(visitCountries[i].id).append("<a id=editCountryItemIcon[" + i + "]" 
    + "style=\"vertical-align: bottom;\"" 
    + "class=\"editLineItemLink\""); 
}

しかし、うまくいきません。助けてください!

4

2 に答える 2

0

主な問題は、jQuery がハッシュ ( #) を使用して、ID をセレクターとして使用する際にプレフィックスを付けることであると思われるため、コードを次のように変更します。

for(var i=0; i < 20; i++) {
    $('#' + visitCountries[i].id).....

さらに、コードにはさらに 2 つの問題があります。

  1. 追加している要素を閉じることはない<a>ため、画面には何も表示されません。別の言い方をすれば、追加しようとしている要素は HTML では次のようになります。

    <a id=editCountryItemIcon[0] style="vertical-align: bottom;" class="editLineItemLink"

    したがって、必ず追加してください>Some text</a>

  2. hrefリンクをクリックできるようにするには、属性が必要です。通常の慣例では、href="#"実際にリンクをナビゲートする場所がない場合 (たとえば、JavaScript によって処理される場合) に追加します。

  3. 属性名の前にスペースはありません

全体として、最終的なコードはおそらく次のようになります。

var visitCountries = ["Step2_Visits_0__CountryCode","Step2_Visits_1__CountryCode","Step2_Visits_2__CountryCode","Step2_Visits_3__CountryCode","Step2_Visits_4__CountryCode"];
for(var i=0; i < 20; i++) {
$('#' + visitCountries[i]).append("<a href=\"#\" id=editCountryItemIcon[" + i + "]" 
    + " style=\"vertical-align: bottom;\"" 
    + " class=\"editLineItemLink\">Link</a>"); 
}

動作するコードを示す実際の例を次に示します: http://jsfiddle.net/Lx93w/

于 2013-05-30T09:55:02.267 に答える
0

私はこのようなことをします:

for(var i=0; i < 20; i++) {
$(visitCountries[i].id).append("<a id=\"#editCountryItemIcon[" + i + "]\"" 
    + " style=\"vertical-align: bottom;\"" 
    + " class=\"editLineItemLink\""); 
}

他の属性の前にスペースを置き、id 属性を引用符で囲むことを忘れないでください。また、@Jamlec が述べたように # を使用する必要があります。

于 2013-05-30T10:15:04.697 に答える