Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery使用变量字符串追加html元素_Jquery - Fatal编程技术网

jQuery使用变量字符串追加html元素

jQuery使用变量字符串追加html元素,jquery,Jquery,我是JQuery的新手。我试图将数组表单中声明的对象属性附加到html元素,如下所示 HTML: JQuery脚本: var obj{ property : {'apple', 'orange', 'banana'} } for(i=0; i<=2; i++){ $("#container p:eq("+i+")").append(obj.property[i]); } 希望得到这个: <p>some text apple</p> <p>some

我是JQuery的新手。我试图将数组表单中声明的对象属性附加到html元素,如下所示

HTML:

JQuery脚本:

var obj{
property  :  {'apple', 'orange', 'banana'}
}

for(i=0; i<=2; i++){
$("#container p:eq("+i+")").append(obj.property[i]);
}
希望得到这个:

<p>some text apple</p>
<p>some text orange</p>
<p>some text banana</p>
虽然我的Firebug控制台没有显示任何错误报告,但根本没有显示任何附件

我做错了什么?还有,如果是更好的做法,有没有办法用.each替换for循环


谢谢

您的属性列表格式不正确。数字索引列表文字是使用方括号而不是花括号形成的

你发布的代码应该给你一个语法错误。如果不是,很可能根本就没有被执行

这里有一个固定版本:


  var obj = {
    property  :  ['apple', 'orange', 'banana'] 
  }

  for(i=0; i<=2; i++){
    $("#container p:eq("+i+")").append(obj.property[i]);
  }

您的属性列表格式不正确。数字索引列表文字是使用方括号而不是花括号形成的

你发布的代码应该给你一个语法错误。如果不是,很可能根本就没有被执行

这里有一个固定版本:


  var obj = {
    property  :  ['apple', 'orange', 'banana'] 
  }

  for(i=0; i<=2; i++){
    $("#container p:eq("+i+")").append(obj.property[i]);
  }

如另一个答案所述,obj应定义为:

var obj = {
  property : ['apple', 'orange', 'banana']
}
for循环可以工作,但使用它似乎更好。如果没有其他原因,只是因为您不必硬编码值-如果您使用for,那么如果您更改了属性的数量,您也必须更新该循环。我会这样做:

$("#container > p").each(function(i) { $(this).append(obj.property[i]); });

如另一个答案所述,obj应定义为:

var obj = {
  property : ['apple', 'orange', 'banana']
}
for循环可以工作,但使用它似乎更好。如果没有其他原因,只是因为您不必硬编码值-如果您使用for,那么如果您更改了属性的数量,您也必须更新该循环。我会这样做:

$("#container > p").each(function(i) { $(this).append(obj.property[i]); });