需要在innerHTML元素中将整个数组显示为字符串



好吧,这一定有一个简单的解决方案,但我为这个问题伤透了脑筋。。。

我有一个js代码,它按类从HTML中提取ID号。它将所有内容存储在一个数组中。我检查了数组是否未定义并且不是空的。沙发太好了。

现在我需要将这个ID数组显示到HTML元素中。完整的数组应该只是一个逗号分隔的字符串。

相关代码:

function makelink(){    
var idArray = $(".result");
document.getElementById("link").innerHTML = idArray;
}
//The result in HTML = [object Object]

当我执行以下操作时,它可以完全按照我的意愿工作(当然,除了我不能像这样将数组硬编码到代码中(

function makelink(){  
var idArray = ["123", "124", "125", "126"];
document.getElementById("link").innerHTML = idArray;
}
//The result in HTML = [123,124,125,126]

我在Stackoverflow上读过至少4个类似的问题,比如[object object]是什么意思?并将javascript数组转换为字符串,在此基础上我尝试了:

document.getElementById("link").innerHTML = idArray.join();

以及:

var idArray = $(".result");
idArray.toString();

但我不知道如何让它为我的代码工作。我不需要alert或console.log。我需要在HTML中输出我的结果。请帮忙。

你可以试试这个:

function makelink(){  
var idArray = [];
$(".result").each(
function(){
idArray.push($(this).text())
}
);
document.getElementById("link").innerHTML = idArray.join(', ');
}

您显示的不是数组,而是DOM元素的jQuery对象。您可能需要地图功能。但是这个函数本身还不够,您仍然需要获得结果对象或html的值,但这部分是最简单的。

function makelink(){    
var idArray = $(".result").map(function(item) { 
return item.val(); 
}).get();
document.getElementById("link").innerHTML = idArray;
}

执行以下操作::

function makelink() {  
var idArray = ["123", "124", "125", "126"];
document.getElementById("link").innerHTML = JSON.stringify(idArray);
}

最新更新