Como ocultar o conteúdo quando a caixa de seleção estiver marcada e mostrar quando a caixa de seleção estiver desmarcada?

0

Pergunta

Eu tenho um social media página inicial feed de notícias bloqueador de extensão do google chrome. Eu quero lançar um novo recurso na minha próxima versão, onde os usuários podem ativar o feed de sites individuais ligado ou desligado no menu de configurações. Eu construí uma settings.html e um background.js arquivo. Settings.html vai ser a página de configurações onde os usuários podem ativar os feeds on ou off com caixas de seleção.

O que eu quero o código para fazer: eu quero a home page do feed de notícias para esconder se o usuário verifica na caixa, caso contrário, eu quero que o feed para mostrar.

Eu suspeito que o código não está funcionando porque eu preciso fazer algumas alterações para o meu manifesto.json arquivo.

O arquivo de manifesto tem o seguinte (eu removido coisas privadas com "//"

{
    "manifest_version": 2,
    "name": "//",
    "version": "//",
    "description": "//",
    "author": "//",

    "icons": {
        "128": "//"
    },

    "content_scripts": [{
        "html": ["settings.html"],
        "js": ["jquery-3.6.0.min.js", "background.js"],
        "css": ["tiktok.css", "linkedin.css", "youtube.css", "insta.css", "facebook.css", "twitter.css", "reddit.css", "settings.css"],
        "matches": ["https://www.tiktok.com/*", "https://www.linkedin.com/*", "https://www.youtube.com/*", "https://www.instagram.com/*", "https://www.facebook.com/*", "https://twitter.com/*", "https://www.reddit.com/"]
    }],
    
    "background":
    {
        "scripts": ["jquery-3.6.0.min.js", "background.js"]
    },

    "browser_action": {
        "default_title": "//",
        "default_popup": "//"
    }
}

O HTML:

<!DOCTYPE html>
<html>
    <head>
        <meta charset = ”UTF-8”>
        <script src="jquery-3.6.0.min.js"></script>
        <script src = "background.js"></script>
        <title>Settings</title>
    </head>
    <body class="settings">
        <h1 class = "classa">Settings</h1>
        <h2>Feed Blocking Preferences</h2>
        <h4>Checkboxes to turn all or individual feeds on or off.</h4>
        <input type="checkbox" class = "jiji" id="fbbox">//</input>
    </body>
</html>

No código abaixo, a classe "jiji" é para o meu elemento de entrada (na caixa) em settings.html arquivo. A classe "tn0ko95a" é para a classe que esconde a página inicial do feed de notícias em um site de mídia social. Esta não é a minha própria classe, eu tenho esse de fazer "inspecionar elemento" no site de mídia social.

Este código funciona:

$(function () {
 $(".tn0ko95a").hide();
});

Mas quando eu adicionar mais para esse código, não funciona:

$(function () {
  $(".jiji").click(function () {
    if ($(this).is(":checked")) {
      $(".tn0ko95a").hide();
    } else {
      $(".tn0ko95a").show();
    }
  });
});

Então, por que é o último código não está funcionando?

1

Melhor resposta

0

Tente alterar em vez de clicar em

$(function () {
  $(".jiji").change(function () {
    if ($(this).is(":checked")) {
      $(".tn0ko95a").hide();
    } else {
      $(".tn0ko95a").show();
    }
  });
});

Ou você pode usar o mouse para baixo, veja este exemplo jQuery caixa de seleção alterar e clique em evento

2021-11-18 19:51:06

Obrigado. O que sobre o elemento input HTML? Qualquer coisa que você recomenda que eu mudar de lá? Ouvi dizer que não precisamos adicionar onchange ou onclick = ... se usando jquery. Será que é verdade?
abc_13

<input type="checkbox" class = "jiji" id="fbbox" />
Wamiq Rehman

Não somos a adição de qualquer evento onchange de entrada a resposta dada é puramente tratada pelo jquery
Wamiq Rehman

Hey! A resposta não funcionou. Eu suspeito que eu preciso fazer algumas alterações para o manifesto. Talvez eu precise usar alguma API do google chrome para fazer este trabalho.
abc_13

Uma pergunta que um elemento no seu código(ou de qualquer outro elemento não a partir do seu código que você deseja ocultar
Wamiq Rehman

Bem, a classe é um elemento div com outros elementos dentro dele. Essencialmente, ele oculta a página de feed de notícias em um site de mídia social.
abc_13

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................