Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript document.getElementById().style.display=&x27;无';;仅适用于Firefox_Javascript_Css_Internet Explorer_Google Chrome_Firefox - Fatal编程技术网

Javascript document.getElementById().style.display=&x27;无';;仅适用于Firefox

Javascript document.getElementById().style.display=&x27;无';;仅适用于Firefox,javascript,css,internet-explorer,google-chrome,firefox,Javascript,Css,Internet Explorer,Google Chrome,Firefox,为什么这只适用于Firefox? IE和Chrome似乎忽略了样式。display='none' 有什么建议吗 <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title></title> <script language="Java

为什么这只适用于Firefox? IE和Chrome似乎忽略了样式。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>

函数validateForm(){
document.getElementById('option2').style.display='none';
}
选择一名员工
员工1
雇员2
雇员3

您应该使用
.addEventListener
方法->

Javascript

function validateForm() {

    alert(); //checking if this actually works

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

}


select_ = document.getElementById('employeeID');

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

Chrome

Safari

更改:

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


Chrome等浏览器现在更喜欢使用jQuery而不是JavaScript,因此请更改:

document.getElementById('option2').style.display = 'none';
要像这样阅读以隐藏:

$('#option2').hide();
要再次显示,请使用:

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

在Chrome@YuriyGalanter中可以工作,但我的JSFiddle将其保存在onchange函数中,似乎没有相同的结果@katana314,如果你把它放在一个函数中,你需要调用这个函数:)它在Chrome和FF中对我有效,但不是IE11@Katana314HTML找不到该函数。但如果把它放在头上,它就会起作用:确保它确实在发射。在validateForm函数中,只需添加一个警报(“hello”);或警报(document.getElementById('option2').style.display);我收回我的评论。我忘了我还有一些其他的调试代码。这是可行的,但它将条目显示为一个空行,而不是将其删除。当然,jQuery“只是”一个用JavaScript编写的库;我认为答案是离题的,因为OP可能完全可以依靠一个健壮的跨浏览器JavaScript解决方案,并且事先了解jQuery。同意。离题。“只使用jQuery”并不能真正解决这个问题。
$('#option2').hide();
$('#option2').show();