2017-09-13 82 views
-3

我应该如何更正此代码?当涉及到document.getElementById ....什么时候在最后使用.value?Javascript错误...无法设置为空的属性值

function processInput() { 
if(i <= 5){ 
    listItem = "item" + i; 
    document.getElementById("listItem").value = document.getElementById("toolBox").value; 
    document.getElementById("toolbox") = ""; 
    if(i == 5){ 
    document.getElementById("resultsExpl") = "Thank you for your suggestions"; 
    } 

    i += 1; 
} 
+0

document.getElementById()返回DOM元素。当.value()一个dom元素时,会发生以下两种情况之一:如果dom元素具有值属性(如文本字段或单选按钮,选择元素),那么将返回该值。如果情况并非如此,那么将返回DOM元素的开始和结束标记之间的文本。 –

+0

现在,请尝试自己,如果出现问题,请制作一个jsfiddle并在此处添加它。 –

回答

0

坏作业......这代码看起来忙碌反正,我不知道这是什么需要做的,但像这样的东西再次尝试:

function processInput() { 
    if(i <= 5){ 
     listItem = "item" + i; 
     document.getElementById("listItem").value = document.getElementById("toolBox").value; 
     document.getElementById("toolbox").textContent = ""; 
     if(i == 5){ 
      document.getElementById("resultsExpl").textContent = "Thank you for your suggestions"; 
     } 
     i++; 
    } 
} 

或者也尝试加入。价值结束而不是.textContent。

0

的两行错误: document.getElementById("toolbox") = ""; document.getElementById("resultsExpl") = "Thank you for your suggestions";

那些可能修改为:

document.getElementById("toolbox").innerHTML = ""; document.getElementById("resultsExpl").innerHTML = "Thank you for your suggestions";

如果你想设置一个文本输入的内容,你可以使用.value的,并对于其他DOM,您可能需要.innerHTML(设置HTML内容)或.innerText(设置文本内容)。

你应该检查你使用getElementById函数查询的dom是否存在。

相关问题