style.visibility javascript在IE中不起作用

时间:2012-02-24 23:30:20

标签: javascript html

我有以下HTML代码

                        <tr id="maxHoursId">
                            <td>MaxHours</td>
                            <td><input type="text" name="maxHours" size="5" value=""></td>
                            <td colspan="8"></td>
                        </tr>                           

我正在调用以下java脚本  但该元素并未隐藏在IE中。它适用于chrome,Firefox

function hideMaxHours() {
    var listingType = document.getElementById('listingTypeId').value;
    if (listingType == "FullDay") {
        var trId = document.getElementById('maxHoursId');
        trId.style.visibility = 'hidden';
    }
}

3 个答案:

答案 0 :(得分:0)

尝试trId.style.display ='hidden'怎么样;代替?当你想再次看到它时,把它改成trId.style.display ='block';

答案 1 :(得分:0)

我试过

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
    <table>
<tr id="maxHoursId">
                            <td>MaxHours</td>
                            <td><input type="text" name="maxHours" size="5" value=""></td>
                            <td colspan="8"></td>
                        </tr>    
</table>
<script>
    var trId = document.getElementById('maxHoursId');
        trId.style.visibility = 'hidden';
</script>
</body>
</html>

它适用于IE 8,IE6,7可能不支持tr hide,你可以使用td

答案 2 :(得分:-1)

您正试图在文档有机会加载之前隐藏元素。

要处理这种情况,请使用jquery来执行您的功能。

例如:

    
    
    $(document).ready(function () {       
    function hideMaxHours() {
    document.getElementById('listingTypeId').value;
    if (listingType == "FullDay") {
    var trId = document.getElementById("maxHoursId");
    trId.style.visibility = 'hidden';
    }
    else {
    alert("The value of listingType is" + listingType);
    }
    }
    hideMaxHours()
    });