我有以下div:
<body>
<div id="div0" style="margin-top:5%;text-align:center">
One response will appear here
</div>
</body>
我在脚本标签中有一个数组,只想将 array[0]
的值放入div 中,以替换它说"一个响应将出现在此处"的位置。我对div 的哪个属性引用此文本有点困惑 - 它不是 innerHTML 或 .text
或 .textContent
.使用以下任何一项都会引发错误:
"未捕获的类型错误:无法将属性'innerHTML'设置为空"
编辑:
这就是我调用.innerhtml的地方
$array=[]
$(document).ready(function(){
$("#button0").click(function(){
$.get("url/here",$("#form0").serialize(), function(response){
$.each(JSON.parse(response), function(index){
$array.push(JSON.parse(response)[index])
});
$("#div0").html($array[0]);
$("#div1").text($array[2]);
document.getElementById("#div2").innerHTML = $array[4];
});
});
});
.html和 .text 运行良好,所以谢谢大家快速回答。 .innerHTML 不起作用,我很好奇为什么会这样?
类似问题:HTML/Javascript changediv content
如果你使用的是jQuery,你可以用以下命令设置div的html:
$(document).ready(function(){
$("#div0").html(array[0]);
}
你应该展示你尝试过的东西。无论如何,这有效:
document.getElementById('div0').innerHTML = array[0];
如果您不需要 HTML,则可以使用相同的方式使用textContent
:
document.getElementById('div0').textContent = array[0];
从您收到的错误来看,您的选择器似乎是错误的(或在代码运行时不可用)。同样,如果您已经展示了您如何尝试这样做,那会容易得多。
现场示例:
var array = ['Hey, this works!'];
document.getElementById('div0').innerHTML = array[0];
<div id="div0" style="margin-top:5%;text-align:center">One response will appear here </div>
$(document).ready(function(){
$("#div0").html(array[0]);
// or
$("#div0").text(array[0]);
}
您可以使用 html() 或 text() 函数
由于您只是想更新文本,因此不需要使用 innerHTML。只需使用 jQuerys 文本函数。
.HTML
<body>
<div id="div0" style="margin-top:5%;text-align:center">One response will appear here </div>
</body>
jQuery
$("#div0").text(yourarray[index]);
确保文本作为字符串存储在数组中。
你可以用jQuery做这样的事情:
$(function() {
var testArray = ["1", "2" ];
var length = testArray.length;
for (var i = 0; i < length; i++) {
var v = testArray[i];
$("#div" + i).text(v);
}
});