document.getElementById()。style.display ='none';仅适用于Firefox

时间:2014-04-24 13:33:20

标签: javascript css internet-explorer google-chrome firefox

为什么这只适用于Firefox? IE和Chrome似乎忽略了style.display ='none' 有什么建议吗?

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>


    <script language="JavaScript">
        function validateForm() {

            document.getElementById('option2').style.display = 'none';

       }
    </script>

</head>
<body>
    <select id="employeeID" onchange="validateForm();">
        <option value="0" id="option0">Select an Employee</option>
        <option value="1" id="option1">Employee 1</option>
        <option value="2" id="option2">Employee 2</option>
        <option value="3" id="option3">Employee 3</option>
    </select>
</body>
</html>

3 个答案:

答案 0 :(得分:2)

您应该使用change方法将.addEventListener事件绑定到您的选择元素 - &gt;

DEMO

<强>的Javascript

function validateForm() {

    alert(); //checking if this actually works

document.getElementById('option2').style.display = 'none';

}


select_ = document.getElementById('employeeID');

select_.addEventListener('change',validateForm,false);

select_.onchange = validateForm;

<强>铬

Chrome

<强> Safari浏览器

Safari

答案 1 :(得分:1)

变化:

document.getElementById('option2').style.display = 'none';

document.getElementById('option2').style.visibility="hidden";

答案 2 :(得分:-3)

Chrome之类的浏览器现在更喜欢使用jQuery而不是JavaScript,所以更改:

document.getElementById('option2').style.display = 'none';

这样阅读隐藏:

$('#option2').hide();

再次显示使用:

$('#option2').show();