如何在其他jquery之后创建一个元素

时间:2013-05-30 09:52:24

标签: jquery

我有一个数组元素。他们有类似的身份:

Step2_Visits_0__CountryCode
Step2_Visits_1__CountryCode
Step2_Visits_2__CountryCode
Step2_Visits_3__CountryCode
Step2_Visits_4__CountryCode

此数组命名为" visitCountries"。

我使用"循环播放"并在每个元素标记后附加。

例如:

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

但它不起作用。请帮助!

2 个答案:

答案 0 :(得分:0)

我怀疑主要的问题是jQuery使用哈希(#)来为使用它作为选择器的id加前缀,因此将代码更改为:

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

此外,您的代码还有两个问题;

  1. 您永远不会关闭要附加的<a>元素,因此屏幕上不会显示任何内容。换句话说,您尝试追加的元素在HTML

    中看起来像这样

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

    因此,请务必附加>Some text</a>

  2. 要使链接可点击,它需要href属性。通常的惯例是添加href="#"如果你实际上没有想要链接导航到(例如,如果它由javascript处理)。

  3. 属性名称

  4. 之前没有空格

    总而言之,最终的代码应该看起来像:

    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/

答案 1 :(得分:0)

我会做这样的事情:

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

不要忘记其他属性之前的空格,并将id属性括在引号中。另外,你应该使用#jas @jamlec。