Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
Javascript 将返回数据中的文本动态添加到具有匹配id的div中_Javascript_Jquery_Arrays_Html - Fatal编程技术网

Javascript 将返回数据中的文本动态添加到具有匹配id的div中

Javascript 将返回数据中的文本动态添加到具有匹配id的div中,javascript,jquery,arrays,html,Javascript,Jquery,Arrays,Html,首先,我仍然是一个新手,并且仍然在学习,我已经学到了很多东西,并期待着随着我继续这段旅程继续下去。 好的,我有下面的代码,正在尝试将数组对象附加到具有匹配ID的正确Div中。我尝试了一个不起作用的if语句,然后一个Switch语句也不起作用。有人能告诉我正确的方向吗?注释文本必须附加到具有相同id的匹配div中 HTML Divs <div class="containerA" id='text b'></div> <div class="containerA"

首先,我仍然是一个新手,并且仍然在学习,我已经学到了很多东西,并期待着随着我继续这段旅程继续下去。 好的,我有下面的代码,正在尝试将数组对象附加到具有匹配ID的正确Div中。我尝试了一个不起作用的if语句,然后一个Switch语句也不起作用。有人能告诉我正确的方向吗?注释文本必须附加到具有相同id的匹配div中

HTML Divs

<div class="containerA" id='text b'></div>

<div class="containerA" id='text a'></div>

JavaScript

var myArray = [
  a = {
     text: 'text a',
     comment: 'comment a'
      },
  b = {
     text: 'text b',
     comment: 'comment b'
      },
  c = {
     text: 'text a',
     comment: 'comment c'
      },
  d = {
     text: 'text a',
     comment: 'comment d'
      },
  e = {
     text: 'text b',
     comment: 'comment e'
      }
       ];

for (var i = 0; i < myArray.length; i++) {
    console.log(myArray[i]);
    var row = myArray[i];
    console.log(row.text);
    var textRef = row.text;
    var commentsText = row.comment;
    console.log(commentsText);
    }

var myContainer = document.getElementsByClassName('containerA');

for (var i = 0; i < myContainer.length; i++) {
    console.log(myContainer[i].attributes[1].nodeValue);
    var idRef = myContainer[i].attributes[1].nodeValue;
    }
var myArray=[
a={
文本:“文本a”,
评论:“评论a”
},
b={
文本:“文本b”,
评论:“评论b”
},
c={
文本:“文本a”,
评论:“评论c”
},
d={
文本:“文本a”,
评论:“评论d”
},
e={
文本:“文本b”,
评论:“评论e”
}
];
对于(var i=0;i
您的
textRef
等于
id
字段,因此使用
$('#'+textRef)
绘制
div
,然后使用
append()
commentsText
添加到div中

$('#'+textRef).append(commentsText+“
”)

如果您想要“仅javascript”,请使用以下代码:

var div = document.getElementById('textRef');

div.innerHTML = div.innerHTML + commentsText  + '<br />';
var div=document.getElementById('textRef');
div.innerHTML=div.innerHTML+commentsText+'
';
var myArray=[
a={
text:'text_a',
评论:“评论a”
},
b={
text:'text_b',
评论:“评论b”
},
c={
text:'text_a',
评论:“评论c”
},
d={
text:'text_a',
评论:“评论d”
},
e={
text:'text_b',
评论:“评论e”
}
];
对于(var i=0;i”)
}
var myContainer=document.getElementsByClassName('containerA');
对于(变量i=0;i


试试这个:

myArray.forEach( function(item){
           document.getElementById( item.text ).innerHTML = item.comment;
    }); 
如果要求每次追加而不是提供新文本:

    myArray.forEach( function(item){
           var newestComment = document.createTextNode( item.comment );
           document.getElementById( item.text ).appendChild( newestComment  );
    }); 

您永远不应该在
id
字段中使用空格为什么不使用jquey的DOM操作,也不要在ClassName中使用空格感谢我将在返回的数据中更改它,因为div是根据输入的数据动态创建的。有了提供的答案,您不再需要第二个for循环。但我只是想让您知道,您可以使用
myContainer[i].attributes[1].nodeValue
而不是
myContainer[i].attributes.id
。非常感谢Jonofa,我会记得非常感谢。Carsten再次非常感谢主项目正在工作,现在我将id更改为无空格工作。我添加了它,并出现以下错误“UncaughtReferenceError:$未定义”我在我的项目中使用Jquery-2-2-4。好的,我发现Jquery问题将Jquery脚本移到了我的JavaScript引用之上,所以它现在可以追加了,非常感谢您的帮助。我会尝试一下,数据是从Azure表调用的,所以我认为追加是正确的方法