2016-11-27 164 views
-1

這裏是我的腳本:將jquery腳本轉換爲純javascript

我想將它轉換爲純JavaScript,所以我不必使用jQuery。

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'); 
      } 
     } 
    }); 

} 

這是我到目前爲止有:

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'); 
      } 
     } 

    }); 

} 

我不知道如何if語句,在按鈕的點擊文本「安」是要切換轉換從display: blocknone的元素,反之亦然。

+1

你說「* [你]想將[腳本]轉換爲純JavaScript *」 - 那麼你到底有多遠?你卡在哪裏?你想到了什麼?你的代碼在哪裏? –

+0

@DavidThomas我編輯了這個問題來顯示我到目前爲止的內容。 – pol

+0

你爲什麼要那樣做?使用jquery的主要原因不是簡單,而是兼容性,如果你自己實現它,將會花費很多'如果其他東西'。最後,你會結束更多的代碼,但沒有足夠的測試,但c 。如果你只是轉換這個單一的片段,那麼它沒有問題 – Viney

回答

2
  1. $(選擇器)= document.querySelector(選擇器)
  2. $(選擇器)。點擊()= document.querySelector(選擇器)(也許緩存元件第一) - 閱讀進度 - (EVENTTYPE,FN)
  3. css的東西可以像el.classList.add(someClassName)一樣添加爲'class'。

UPDATE

這是更好地獲得基礎知識與JavaScript | MDN。個人比jQuery更容易。

+0

請注意,從IE 9向上支持'addEventlistener' – NtFreX

+0

我已經編輯了你的建議的問題,只是if語句剩下要轉換。 – pol