将jquery转换为javascript以便能够在greasemonkey上运行?

时间:2015-02-24 00:26:59

标签: javascript greasemonkey

我开发了一个Greasemonkey脚本,可以在我最喜欢的列表网站上运行。 它在页面顶部生成一个按钮:)然后一旦点击我就可以调用我想要的功能。

问题是,我想调用的脚本是jquery格式,我知道虽然jquery和javascript彼此接近,但是不可能通过javascript调用jquery,加上我不能使用的想法jquery,因为它给网站带来了许多冲突:(

这是一个油脂单脚本:

// ==UserScript==
// @name         My Fancy New Userscript
// @namespace    http://your.homepage/
// @version      0.1
// @description  enter something useful
// @author       You
// @grant        none
// @include *
// ==/UserScript==

var input=document.createElement("input");
input.type="button";
input.value="GreaseMonkey Button";
input.onclick = showAlert;

document.body.insertBefore(input,document.body.firstChild); 

function showAlert()
{
    alert("Hello World");
}

这是我想点击按钮后运行的jquery:

$("tr.project-description").filter(function() {
return !$("span.verfied-badge", this).length;
}).remove();

它的作用是删除<tr>元素而不需要问题<span class="verfied-badge">这里的问题:javascript on page load check if a span (under <tr>) with a specific class exist, if does not exist remove the entire <tr>

希望有人可以提供帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

可能的功能:

(function(){
    var rows=document.querySelectorAll('tr.projection-description'),row;
    for(var r=rows.length-1;r>=0;r--){
      row=rows.item(r);
      if(!row.querySelector('span.verfied-badge')){
         row.parentNode.removeChild(row);
      }
    }
  }());
<table>
<tr class="projection-description"><td><span class="verfied-badge">verified-badge</span></td></tr>
<tr class="projection-description"><td><span>another badge</span></td></tr>
<tr class="projection-description"><td><span class="verfied-badge">verified-badge</span></td></tr>
<tr class="projection-description"><td><span>another badge</span></td></tr>
<tr class="projection-description"><td><span class="verfied-badge">verified-badge</span></td></tr>
</table>