动态地将Text添加到相同的Id

时间:2014-12-17 05:36:08

标签: javascript jquery angularjs

尝试将文本动态添加到同一范围。已经生成了一个id的索引,以便根据索引思想添加文本。

这是我尝试过的。 预期的输出是我需要再创建一个具有相同id但不同索引的span,并将我的数组值附加到带索引值的span。

预期输出示例:

<span id="test-0">test</span>
<span id="test-1">Demo</span>

HTML:

<span id="test-{{$index}}"></span>

JS:

var arr = [{"Name":"test"},{"Name":"Demo"}];
for(var i=0; i<arr.length;i++){
    txt = arr[i].Name;
    $('#test-'+i).text(txt);
}

尝试演示: Demo Link

6 个答案:

答案 0 :(得分:2)

试试这个:

$('#test-'+i).text(txt);

答案 1 :(得分:2)

text()函数

中分配值
$('#test-'+i).text();

$('#test-'+i).text(txt);

答案 2 :(得分:0)

试试这个:您可以div添加span,其中包含来自数组的动态ID和文本。

HTML -

  <div id="test"></div>

javascript: -

var arr = [{"Name":"test"},{"Name":"Demo"}];
var $text = $('#test');
for(var i=0; i<arr.length;i++){
   $text.append('<span id="test-'+i+'">'+arr[i].Name+'</span>');
}

<强> JSFiddle DEMO

答案 3 :(得分:0)

您可以使用字符串构建器,例如:

var arr = [{ "Name": "test" }, { "Name": "Demo" }];
for (var i = 0; i < arr.length; i++) {
    txt = arr[i].Name;
    document.write("<span id=test-" + i + ">" + txt + "</span>");
}

答案 4 :(得分:0)

你给的小提琴是错的。编辑如下。

check fiddle here

 var arr = [{"Name":"test"},{"Name":"Demo"}];
   for(var i=0; i<arr.length;i++){
   //append existing text to new value from array
   var txt = $('#test'+i).text() + arr[i].Name;
   $('#test'+i).text(txt);
   }

答案 5 :(得分:0)

如果你真的想使用棱角分明,那你就错了。 Angular不能很好地与其他地方添加的html元素一起使用,它们必须先编译,因此angular可以绑定到它们。在这种情况下,您可以使用ng-repeat将列表绑定到一系列跨度:

<span ng-repeat="item in [100, 200, 300, 400]" id="test-{{$index}}">
    Index is {{$index}}<br/>
</span>

您还需要在小提琴中加入角度,并使用ng-app标记(fiddle)。使用angular你也会有一个命名控制器,并在范围内为你的数组设置一个属性,但如果这个问题,那就超出了界限。