如何在JavaScript中使用if语句使HTML文本不可见?

如何在JavaScript中使用if语句使HTML文本不可见?,javascript,html,Javascript,Html,我正在为其他人使用设置年龄限制,但我希望某些HTML文本通过此if语句不可见。 这是h3文本 HTML文本: 如果你正在读这篇文章,你已经超过18岁了。 JavaScript: var user = prompt("Enter your age [NO LETTERS]: "); if (user<18) { document.write("<div style='font-family:Arial;font-size: 29px;''>Age restrictions

我正在为其他人使用设置年龄限制,但我希望某些HTML文本通过此if语句不可见。 这是h3文本 HTML文本:

如果你正在读这篇文章,你已经超过18岁了。 JavaScript:

var user = prompt("Enter your age [NO LETTERS]: ");


if (user<18) {


document.write("<div style='font-family:Arial;font-size: 29px;''>Age restrictions have been enabled for this session.</div>");


alert("You are too young for this content, some restrictions might be activated.");
}
var user=prompt(“输入您的年龄[无字母]:”;
如果(用户
  • 请不要使用
    文档。请编写
    ,因为它只用于测试,实际上是

  • 只有两种可能的结果,用户年龄大于或小于18岁。请使用
    confirm()
    来消除冗余输入

  • 如果有很多内容需要审查,那么在JS中隐藏所有内容并不是一个可行的解决方案。更好的方法是只对正文应用特定的类:

Javascript:

var message = "Are you older than 18?";
if(!confirm(message)) {
    document.body.classList.add("nsfw");
    // Inform the user that some content might be hidden.
}
使用CSS进行设计和布局,使用JS进行逻辑。将类“敏感”分配给所有敏感内容:

HTML:

这样,如果用户未成年,则类
敏感的每个元素都将自动隐藏

但是等等!也许你想存储用户的选择?使用会话存储

function agecheck() {
    var key = "nsfw-preference"
    var message = "Are you older than 18?";

    // Remove nsfw class if it exists
    document.body.classList.remove("nsfw");

    // No preference data.
    if(window.sessionStorage.getItem(key) === null) {

        // Ask the user:
        if(!confirm(message)) 
            window.sessionStorage.setItem(key, "true");
        else
            window.sessionStorage.setItem(key, "false");
    }

    // If the user is underage
    if(window.sessionStorage.getItem(key) == "true") {
        document.body.classList.add("nsfw");
        // Inform the user some content might be hidden. Avoid alerts()!
    }

    // User isn't underage
    else if(window.sessionStorage.getItem(key) == "false") {
        // Inform the user if needed.
    }
}

加载DOM/页面后,请调用此函数一次。

您知道如何将文本变为不可见吗?很抱歉,您的代码可能重复,但我无法使用。但是,我已解决了此问题。谢谢您的帮助!
body.nsfw .sensitive {
    display: none!important;
}
function agecheck() {
    var key = "nsfw-preference"
    var message = "Are you older than 18?";

    // Remove nsfw class if it exists
    document.body.classList.remove("nsfw");

    // No preference data.
    if(window.sessionStorage.getItem(key) === null) {

        // Ask the user:
        if(!confirm(message)) 
            window.sessionStorage.setItem(key, "true");
        else
            window.sessionStorage.setItem(key, "false");
    }

    // If the user is underage
    if(window.sessionStorage.getItem(key) == "true") {
        document.body.classList.add("nsfw");
        // Inform the user some content might be hidden. Avoid alerts()!
    }

    // User isn't underage
    else if(window.sessionStorage.getItem(key) == "false") {
        // Inform the user if needed.
    }
}