我已经编写了以下脚本来更改复选框的背面颜色,但是这不适用于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工作,任何人都可以帮助我
答案 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';
}