我正在尝试将此数组添加到DOM中,每个字符串元素都是无序列表的一部分。下面我尝试设置message [i] =我想要附加到列表中的数组的元素,但它似乎没有工作。 Fetch new是一个回调函数,它获取一个字符串数组,因为它是输入FYI。基本上我试图在ul的底部显示该数组中的每个元素。 ul class =“messages”fyi。我分配变量值的方式有问题吗?
function fetchNew() {
var PrintChat = function (Chat_Messages) {
var y = Chat_Messages.length;
for (i = 0; i < y; i++) {
var message[i] = $('<li>Chat_Messages[i]<li>');
$('.messages').append(message[i]);
}
}
答案 0 :(得分:1)
我猜它反复输出Chat_Messages[i]
?
你必须告诉JavaScript它是一个连接的变量。试试这个:
$(".messages").append("<li>"+Chat_Messages[i]+"</li>");
请注意,出于安全原因,您应确保正确转义邮件,或者更好地使用createTextNode(Chat_Messages[i])
等原生DOM方法来保护您的网站免受XSS攻击。
答案 1 :(得分:0)
如果fetchNew是一个获取字符串数组的回调函数,那么实际上它太复杂了,一个更简单的方法就是这样:
function fetchNew(myArray) { // receive the array as a parameter.
var length = myArray.length; // Cache the length of array
for (i = 0; i < length; i++) { // loop through the array.
var element = $('<li>' + myArray[i] + '<li>'); // concatenate the current value inside an LI and create a dom element.
$('.messages').append(element); // Add element to the parent container
}
}