我有一个数组元素。他们有类似的身份:
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\"");
}
但它不起作用。请帮助!
答案 0 :(得分:0)
我怀疑主要的问题是jQuery使用哈希(#
)来为使用它作为选择器的id加前缀,因此将代码更改为:
for(var i=0; i < 20; i++) {
$('#' + visitCountries[i].id).....
此外,您的代码还有两个问题;
您永远不会关闭要附加的<a>
元素,因此屏幕上不会显示任何内容。换句话说,您尝试追加的元素在HTML
<a id=editCountryItemIcon[0] style="vertical-align: bottom;" class="editLineItemLink"
因此,请务必附加>Some text</a>
要使链接可点击,它需要href
属性。通常的惯例是添加href="#"
如果你实际上没有想要链接导航到(例如,如果它由javascript处理)。
属性名称
总而言之,最终的代码应该看起来像:
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。