2011-01-08 59 views
2

我試圖用我自己的表使用油脂猴替換表。具有表格的頁面有兩個具有相同類別且沒有ID的表格。使用Greasemonkey刪除表

我只需要替換第二個表(用我自己的表),而對第一個表不做任何操作。沒有什麼能夠讓第二張表在第一張表中獨一無二,所以我唯一能想到的就是試圖在第二張表上添加一個DIV,但無法弄清楚。

任何想法?下面是頁碼:

<h3>Table 1</h3> 
<table class="details" border="1" cellpadding="0" cellspacing="0"> 
<tbody><tr> 
<th>1</th> 
<td>2</td> 
</tr> 
</tbody></table> 

<h3>Table 2</h3> 
<table class="details" border="1"> 
<tbody><tr> 
<th>1</th> 
<td>2</td> 
</tr><tr> 
<th>3</th> 
<td>4</td> 
</tr> 
</tbody></table> 

回答

0

您可以使用xpath查找第二個表,並對其執行一些操作。 xpath表達式將是(//table[@class="details"])[2]。下面我添加了一個使用(//pre)[1]的例子,它會在這個頁面上找到第一個代碼塊,我將把它作爲一個例子來隱藏它。所以這隱藏了你的問題的頁面代碼。 (//pre)[2]將隱藏我的腳本。

另請參閱here瞭解如何使用xpath的教程。

// ==UserScript== 
// @name   so-test 
// @namespace  test 
// @include  http://stackoverflow.com/questions/4635696/use-greasemonkey-to-remove-table 
// ==/UserScript== 

// find first <pre> on this page 
var xpathResult = document.evaluate('(//pre)[1]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null); 
var node=xpathResult.singleNodeValue; 

// now hide it :) 
node.style.display='none'; 
+1

另外,使用`document.getElementsByClassName( '細節')項(1)` – user123444555621 2011-01-08 21:28:26