Отображение всех <div>с определенным классом и скрытие других <divs>с помощью Jquery - PullRequest
0 голосов
/ 20 октября 2019

Итак, я создаю твиттер-клон, и у меня возникают проблемы с сокрытием всех элементов в определенном классе. Действие выполняется, когда пользователь нажимает на имя пользователя, и я пытаюсь скрыть всех родителей, на которых нажали, без одного и того же класса.

С текущим кодом, приведенным ниже, я могу скрыть всех родителей, по которым щелкнули, с тем же классом, по которому щелкнули, но когда я пытаюсь скрыть каждого с "не тем же классом", это заканчиваетсяскрывая все с.

<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="utf-8">
    <script src="jquery.js"></script>
    <script src="data_generator.js"></script>
    <link rel="stylesheet" href="style.css">
  </head>

  <body>
    <header>
        <a href = index.html>Twiddler</a>
        <button id='newTweets'> Show New Twidds</button>
        <div class="btn-group">
          <button class="button">News</button>
          <button class="button">Trending</button>
          <button class="button">About</button>
          <button class="button">Contact Us</button>
        </div>
      <div></br></div>
    </header>

    <div id="allTweets"></div>
    <h2></h2>
    <script>
<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="utf-8">
    <script src="jquery.js"></script>
    <script src="data_generator.js"></script>
    <link rel="stylesheet" href="style.css">
  </head>

  <body>
    <header>
        <a href = index.html>Twiddler</a>
        <button id='newTweets'> Show New Twidds</button>
        <div class="btn-group">
          <button class="button">News</button>
          <button class="button">Trending</button>
          <button class="button">About</button>
          <button class="button">Contact Us</button>
        </div>
      <div></br></div>
    </header>

    <div id="allTweets"></div>
    <h2></h2>
    <script>
      $(document).ready(function(){


        var $body = $('body');
        var $allTweets = $('#allTweets');
        var index = streams.home.length - 1;

   // SHOW INITIAL TWEETS ON PAGE
        for (var i=0; i<10; i++) {
          var tweet = streams.home[index];
          var message = tweet.message;
          var user = tweet.user;
          var timestamp = tweet.created_at;
          var userID = user;
          $tweet = $('<div class="tweets ' + userID + '"><div class="user">@' + user + '</div><div class="message"></br>' + message + '</div><div class="date">' + timestamp + '</div></div>');
          $tweet.appendTo('#allTweets');
          index--;
        };

         // WHEN BUTTON IS CLICKED SHOW NEW TWEET 

        $('#newTweets').click(function () {
          index = streams.home.length-1;
          for (var i=0; i<10; i++) {
            var tweet = streams.home[index];
            var message = tweet.message;
            var user = tweet.user;
            var timestamp = tweet.created_at;
            var userID = user;
            $tweet = $('<div class="tweets ' + userID + '"><div class="user">@' + user + '</div><div class="message"></br>' + message + '</div><div class="date">' + timestamp + '</div></div>');
            $tweet.prependTo('#allTweets');
            index--;
          };
        });

      // HIDE TWEETS ON CLICK USERNAME 

        $(document.body).on('click', '.user', function(){
          var ID = $(this).parent().attr('class');
          var newID = ID.split(' ');
          //$('.'+ newID[1]).hide();     //THIS WORKS
          //$('div').not($('.' + newID[1])).hide();      //THIS HIDES EVERYTHING
      });
      });
    </script>
  </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...