elementID.style.display='block' 在 chrome 中不起作用,但在 Fi

elementID.style.display='block' not work in chrome but working in firefox

本文关键字:不起作用 Fi 但在 chrome block style display elementID      更新时间:2023-09-26
function loadMyitem(output, counter, msg, FileQuery) {
    //alert(output)
    if( window.XMLHttpRequest )
    {
        xmlhttp = new XMLHttpRequest();
    } else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 1) {
            msg.style.display = 'block';
            msg.innerHTML = "";
        } else if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            msg.style.display = 'block';
            msg.innerHTML = "";
            var respStr = new Array();
            respStr = xmlhttp.responseText.split('|');
            optStr = output.split('|');
            var CC1 = $(counter).val();
            for (i = 0; i < respStr.length; i++) {
                //alert(respStr[i]); 
                document.getElementById(optStr[i] + CC1).value = respStr[i];
            }
        }
    }
    //document.getElementByID(msg).innerHTML=inputText;
    xmlhttp.open("get", FileQuery, true);
    xmlhttp.send();
}

这适用于 Firefox,但是当我在 chrome 或 opera 中执行此功能时,它会给出错误:

捕获类型错误:无法设置未定义的属性"显示"

这个函数有什么问题?

假设msg是一个带有元素ID的字符串,试试这个...

var msgElement = document.getElementById(msg);
if (msgElement) {
    msgElement.style.display = 'block';
    // and so on
}