2016-11-27 162 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