Используйте Greasemonkey для удаления таблицы
Я пытаюсь заменить стол своей таблицей, используя обезьяну. Страница с таблицей имеет 2 таблицы с одинаковым классом и без идентификаторов.
Мне нужно заменить только вторую таблицу (с моей собственной таблицей) и ничего не делать с первой таблицей. Нет ничего, что действительно делало бы вторую таблицу уникальной по сравнению с первой, поэтому я могу думать только о том, чтобы попытаться добавить 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>
1 ответ
Вы можете использовать xpath, чтобы найти вторые таблицы и что-то с ними сделать. Выражение xpath будет (//table[@class="details"])[2]
, Ниже я добавил пример, который использует (//pre)[1]
вместо этого будет найден первый блок кода на этой странице, я буду скрывать его в качестве примера. Так что это скрывает код страницы от вашего вопроса. (//pre)[2]
скроет мой сценарий
Смотрите также здесь, чтобы узнать, как использовать xpath.
// ==UserScript==
// @name so-test
// @namespace test
// @include http://stackru.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';