为什么我的JavaScript无法在Firefox中运行

时间:2011-06-21 12:08:53

标签: javascript asp.net

我已经编写了以下脚本来更改复选框的背面颜色,但是这不适用于Mozila

<script type="text/javascript">
function checkBoxList1OnCheck(listControlRef)
{
 var inputItemArray = listControlRef.getElementsByTagName('input');

 for (var i=0; i<inputItemArray.length; i++)
 {
  var inputItem = inputItemArray[i];

  if ( inputItem.checked )
  {
   inputItem.parentElement.style.backgroundColor = 'Red';
  }
  else
  {
   inputItem.parentElement.style.backgroundColor = 'White';
  }
 }
}
</script>

<form id="form1" runat="server">
    <div>
    <asp:CheckBoxList id="CheckBoxList1" onclick="checkBoxList1OnCheck(this);" runat="server">
  <asp:listitem value="1">Item 1</asp:listitem>
  <asp:listitem value="2">Item 2</asp:listitem>
  <asp:listitem value="3">Item 3</asp:listitem>
 </asp:CheckBoxList>
    </div>
    </form>

甚至在页面加载中我添加如下

CheckBoxList1.Attributes.Add("onclick", "checkBoxList1OnCheck(this);");

但是我仍然无法在Mozila工作,任何人都可以帮助我

1 个答案:

答案 0 :(得分:2)

提示:查看JavaScript错误控制台(CTRL + SHIFT + j),Mozilla浏览器不支持parentElement

请尝试使用parentNode

        for (var i = 0; i < inputItemArray.length; i++) {
            var inputItem = inputItemArray[i];

            if (inputItem.checked) {
                //inputItem.parentElement.style.backgroundColor = 'Red';//Won't work in Mozilla
                inputItem.parentNode.style.backgroundColor = 'Red';
            }
            else {
                //inputItem.parentElement.style.backgroundColor = 'White';//Won't work in Mozilla
                inputItem.parentNode.style.backgroundColor = 'White';

            }