如何在Javascript中将ID更改为类

如何在Javascript中将ID更改为类,javascript,html,class,cookies,Javascript,Html,Class,Cookies,如何将javascript从ID更改为类?我试着自己做,但没有运气,这就是我最终的结果。最初的代码是显示或隐藏一个元素并记住用户的选择 HTML: document.getElementsByClassName返回一个节点列表。而且节点列表没有有用的样式属性……它所拥有的只是长度,以及列表中每个节点的索引 为了设置找到的每个弹出窗口的样式,您应该迭代节点列表。例如: function showPopups() { setCookie('popup_state', null); v

如何将javascript从ID更改为类?我试着自己做,但没有运气,这就是我最终的结果。最初的代码是显示或隐藏一个元素并记住用户的选择

HTML:


document.getElementsByClassName
返回一个节点列表。而且节点列表没有有用的
样式
属性……它所拥有的只是
长度
,以及列表中每个节点的索引

为了设置找到的每个
弹出窗口的样式,您应该迭代节点列表。例如:

function showPopups() {
    setCookie('popup_state', null);
    var popups = document.getElementsByClassName('popup');
    for (var i = popups.length - 1; i >= 0; --i) {
        popups[i].style.display = '';
    }
}
当然,要隐藏它们,您需要将
显示设置为
none


如果您知道只有一个元素需要更改,(1)为什么不使用ID但是(2)您可以只说
document.getElementsByClassName('popup')[0]
来访问一个元素。但是请注意……如果您有多个代码,您只会以这种方式更改第一个。

我对JavaScript非常陌生,您能简单地粘贴新代码吗?谢谢。我为其中一个函数添加了一个示例。(注意,我稍微更改了名称,因为我们可能要做不止一个。)对于其他函数,更改大致相同。要显示元素,请不要将其显示设置为“block”,将其设置为“”(空字符串),以便函数正确显示具有任何默认或继承显示值的元素。
function setCookie (name, value, expires, path, domain, secure) {
    document.cookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

function getCookie (name) {

    var cookie = " " + document.cookie;
    var search = " " + name + "=";
    var setStr = null;
    var offset = 0;
    var end = 0;

    if (cookie.length > 0) {
        offset = cookie.indexOf(search);

        if (offset != -1) {
            offset += search.length;
            end = cookie.indexOf(";", offset);

            if (end == -1) {
                end = cookie.length;
            }

            setStr = unescape(cookie.substring(offset, end));
        }
    }

    if (setStr == 'false') {
        setStr = false;
    } 

    if (setStr == 'true') {
        setStr = true;
    }

    if (setStr == 'null') {
        setStr = null;
    }

    return(setStr);
}

function hidePopup() {
    setCookie('popup_state', false); 
    document.getElementsByClassName('popup').style.display = 'none';
}

function showPopup() {
    setCookie('popup_state', null);
    document.getElementsByClassName('popup').style.display = 'block';
}

function checkPopup() {
    if (getCookie('popup_state') == null) { 
        // if popup was not closed
        document.getElementsByClassName('popup').style.display = 'block';
    }
}
function showPopups() {
    setCookie('popup_state', null);
    var popups = document.getElementsByClassName('popup');
    for (var i = popups.length - 1; i >= 0; --i) {
        popups[i].style.display = '';
    }
}