2016-11-27 3 views
-1

Hier ist das Skript, das ich habe:Convert jquery Skript zu reinem Javascript

ich es rein JavaScript umwandeln möchte, so dass ich nicht jQuery verwenden.

if ($('#movie.playing').length) { 

    $('.settings').click(); 

    $('<style> .element { display: none; } </style>').appendTo(document.head); 

    $('.item').click(function() { 
     if ($(this).text().trim() === "Ann") { 
      if ($(this).attr('aria-checked') == 'true') { 
       $('.element').css('display', 'block'); 
      } else { 
       $('.element').css('display', 'none'); 
      } 
     } 
    }); 

} 

Hier ist, was ich bisher habe:

var movie = document.querySelector("#movie_player.playing-mode"); 
if (movie) { 

    document.querySelector(".settings").click(); 

    var style = document.createElement("text/css"); 
    style.styleSheet.cssText = ".element { display: none; }"; 
    document.head.appendChild(style); 

    document.querySelector(".item").click(function() { 
     /* what do I do with this part? */ 
     if ($(this).text().trim() === "Ann") { 
      if ($(this).attr('aria-checked') == 'true') { 
       $('.element').css('display', 'block'); 
      } else { 
       $('.element').css('display', 'none'); 
      } 
     } 

    }); 

} 

Ich weiß nicht, wie die if-Anweisung zu konvertieren, wo auf Klick auf den Button mit dem Text „Ann“ schalten wird sich die Elemente von display: block bis none und umgekehrt.

+1

Sie sagen, "* [Sie] möchten [das Skript] in reines JavaScript * umwandeln" - also wie weit sind Sie gekommen und wo sind Sie stecken geblieben? Was hast du dir ausgedacht? Wo ist dein Code? –

+0

@DavidThomas Ich habe die Frage bearbeitet, um zu zeigen, was ich bisher habe. – pol

+0

Warum würden Sie das tun? Der Hauptgrund, jQuery zu verwenden, ist nicht die Leichtigkeit, sondern die Kompatibilität, die eine Menge 'if else stuff' erfordern würde, wenn Sie es selbst implementieren würden. Am Ende würden Sie mit viel mehr Code enden, der nicht genug getestet wird, aber ofc . Wenn Sie nur dieses einzelne Snippet konvertieren dann ist es kein Problem – Viney

Antwort

2
  1. $ (Selektor) = document.querySelector (Selektor)
  2. $ (Wähler) .click() = document.querySelector (Selektor) (vielleicht das Element cachen zuerst) .addEventlistener (eventtype, fn)
  3. css stuff kann als 'class' wie el.classList.add (someClassName) hinzugefügt werden.

UPDATE

Es ist besser, die Grundkenntnisse mit JavaScript | MDN zu bekommen. Persönlich ist es einfach als jQuery.

+0

beachten Sie, dass 'addEventlistener' von IE 9 aufwärts unterstützt wird – NtFreX

+0

Ich habe die Frage mit Ihren Vorschlägen bearbeitet, nur die If-Anweisung bleibt übrig, um konvertiert zu werden. – pol