您输入的文本中有一个name="quiztxtBox[]",如您所见,它是一个array。如果某个文本框的值为null,我想更改文本框的背景色。

var quiztxtBox =  document.getElementById('quiztxtBox[]');
  for (i=0; i<quiztxtBox.length; i++)
      {
       if (quiztxtBox[i].value == "")
        {
          alert('Either question or answer is empty.');
          quiztxtBox[i].focus();
          quiztxtBox[i].css({"background-color":"#f6d9d4"});
          return false;
        }
      }

最佳答案

您正在使用.css()这是一个jQuery函数。

您应该在页面上包含jQuery,添加将DOM元素强制转换为jQuery对象,然后应用.css()函数,如下所示

另外,您应该使用getElementsByName

$(quiztxtBox[i]).css({..});


或仅使用香草JS,如下所示

  var quiztxtBox =  document.getElementByName('quiztxtBox[]');
  for (i=0; i<quiztxtBox.length; i++) {
      if (quiztxtBox[i].value === "") {
          alert('Either question or answer is empty.');
          quiztxtBox[i].focus();
          quiztxtBox[i].style.backgroundColor = '#f6d9d4'; // this line
      }
  }


DEMO

08-07 19:12