Jak ukryć zawartość, gdy pole wyboru jest zaznaczone, i pokazać, gdy pole wyboru jest wyczyszczone?

0

Pytanie

Mam rozszerzenie chrome do blokowania wiadomości rss na stronie głównej w portalach społecznościowych. Chcę, aby w mojej przyszłej wersji pojawiła się nowa funkcja, w której użytkownicy mogą włączyć lub wyłączyć taśmę poszczególnych stron w menu ustawień. Zbudowałem settings.html i jeszcze jeden background.js plik. Settings.html to będzie strona ustawień, na której użytkownicy mogą włączać lub wyłączać kanały za pomocą pól wyboru.

Że chcę, aby kod wykonywał: chcę, aby aktualności na stronie głównej ukrywała, jeśli użytkownik ustawi opcję, w przeciwnym razie chcę, aby taśma była wyświetlana.

Podejrzewam, że kod nie działa, bo muszę dokonać pewnych zmian w pliku manifest.json.

W pliku manifestu jest następujący (usunąłem dane osobowe za pomocą "//"

{
    "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": "//"
    }
}

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>

W poniższym kodzie klasy "jiji" jest przeznaczony dla mojego elementu input (pole wyboru) w settings.html plik. Klasa "tn0ko95a" przeznaczony dla klasy, która ukrywa aktualności strony głównej w witrynie sieci społecznościowych. To nie jest mój własny, klasa, dostałem to, wykonując "element kontroli" na stronie sieci społecznościowych.

Ten kod działa:

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

Ale kiedy dodaję więcej w ten kod nie działa:

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

Więc dlaczego ostatni kod nie działa?

1

Najlepsza odpowiedź

0

Spróbuj zmienić zamiast kliknięcia

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

Lub można użyć myszki, aby obejrzeć ten przykład Zaznacz pole wyboru jQuery i kliknij zdarzenie

2021-11-18 19:51:06

Dziękuję. Co wprowadzania elementu HTML? Możesz coś doradzić mi zmienić tam? Słyszałem, że nie musimy dodawać onchange lub onclick = ... przy użyciu jquery. Czy to prawda?
abc_13

<typ wejścia="checkbox" class = "jiji" id="fbbox" /><typ wejścia="checkbox" class = "jiji" id="fbbox" />
Wamiq Rehman

Nie dodajemy jakieś zdarzenie przyzmianie dane wejściowe, odpowiedź jest przetwarzane wyłącznie jquery
Wamiq Rehman

Hej! Odpowiedź nie zadziałał. Podejrzewam, że muszę dokonać pewnych zmian w manifest. Być może trzeba użyć jakiejś chrome API, aby to zadziałało.
abc_13

Pytanie, który element w kodzie(lub jakikolwiek inny element nie z twojego kodu) chcesz ukryć
Wamiq Rehman

Cóż, klasa przeznaczona dla elementu div z innymi elementami wewnątrz niego. To, w istocie, ukrywa kanału rss na stronie głównej serwisu w mediach społecznościowych.
abc_13

W innych językach

Ta strona jest w innych językach

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