Фильтрация вложенной таблицы GreaseMonkey (javascript)

Ответить
Аватара пользователя
totoster

Фильтрация вложенной таблицы GreaseMonkey (javascript)

Сообщение totoster »

Доброго времени суток, нашел на вашем сайте пример убирания такой таблицы, в которой найдено слово "некоторое значение"
[решено] Как скрывать на открытой вебстранице конкретный элемент содержащий строку?


Пытаюсь разобраться как быть, если таблица встроенная - пока ни чего не выходит...





Код:

Код: Выделить всё

// ==UserScript==
// @name		Test UserJS
// @description		Hides some tables
// @version		0.1
// @author		Habetdin
// @homepage		http://forum.oszone.net/
// @include		http://forum.oszone.net/*
// @run-at		document-end
// ==/UserScript==
window.addEventListener('load', function() {
	var tables = document.getElementsByTagName("table");
	for(var i = 0, n = tables.length; i < n; i++)
		if(tables[i].innerHTML.indexOf("блядеканр") != -1)
		{
			tables[i].style.setProperty("display", "none", "important");
			break;
		}
}, false);

При нахождении в любой строке значения "Некоторое значение" пропадает вся таблица со встроенными таблицами.

А хотелось бы скрывать только одну строку встроенной таблицы, в которой найдено значение "некоторое значение".



Вот это:

var tr = document.getElementsByTagName("table");



Пробовал записывать разными способами:

var tr = document.getElementsByTagName("tr");

var tr = document.getElementsByTagName("td");

Всё равно скрывается вся основная таблица вместо строк встроенной.



Пробовал даже так:

var tr = document.getElementsByTagName('tr class="cla"');

Так вообще не работает.



Что я не так делаю?

Хочу заметить, что адрес строки во встроенной таблице известен.



html - body - center - table - tbody - tr - td - table - ... ...





Так же хотел бы не только фильтровать "если в таблице А в строке Б есть 'слово' то Б не показывать"

А вот что сделать:

"если в таблице А в строке Б в ячейке В есть 'слово1' и если в ячейке Г есть слово 'слово2' то не показывать Б"

Но до второго пункта думаю добираться, когда разберусь с первым...





Добавлено:



Тут
можно скачать html файл в txt формате.

Или можно посмотреть текст html ниже, что я имел в виду под "встроенной таблицей".





Что я безрезультатно пытаюсь сделать средствами GreaseyMonkey:

>

Изображение





Код:

Код: Выделить всё

[code=html]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<body>
<table cellpadding=0 border=0 cellspacing=0 width='970'>
<tr>
<td>
<table width='100%' cellpadding=5 align=center>
<tr>
<td width=160>Левая таблица</td>
<td align=center>Правая таблица</td>
</tr>
<tr>
<td valign=top>
<div id=mark_undstring1>
<a href="#" onclick="a_undstring1(); return false">Строка1</a>
</div>
<div id=mark_info_undstring1>
</div>
<script> function a_undstring1(){ document.getElementById('mark_info_undstring1').innerHTML = '   ПодСтрока1';document.getElementById('mark_undstring1').innerHTML = '<a href="#" onclick="a2_undstring1(); return false">Строка1</a>';}
function a2_undstring1(){ document.getElementById('mark_info_undstring1').innerHTML = '';document.getElementById('mark_undstring1').innerHTML = '<a href="#" onclick="a_undstring1(); return false">Строка1</a>';}
</script>
<div id=mark_undstring2>
<a href="#" onclick="a_undstring2(); return false">Строка2</a>
</div>
<div id=mark_info_undstring2>
</div>
<script> function a_undstring2(){ document.getElementById('mark_info_undstring2').innerHTML = '   ПодСтрока2';document.getElementById('mark_undstring2').innerHTML = '<a href="#" onclick="a2_undstring2(); return false">Строка2</a>';}
function a2_undstring2(){ document.getElementById('mark_info_undstring2').innerHTML = '';document.getElementById('mark_undstring2').innerHTML = '<a href="#" onclick="a_undstring2(); return false">Строка2</a>';}
</script>
<div id=mark_undstring3>
<a href="#" onclick="a_undstring3(); return false">Строка3</a>
</div>
<div id=mark_info_undstring3>
</div>
<script> function a_undstring3(){ document.getElementById('mark_info_undstring3').innerHTML = '   ПодСтрока3';document.getElementById('mark_undstring3').innerHTML = '<a href="#" onclick="a2_undstring3(); return false">Строка3</a>';}
function a2_undstring3(){ document.getElementById('mark_info_undstring3').innerHTML = '';document.getElementById('mark_undstring3').innerHTML = '<a href="#" onclick="a_undstring3(); return false">Строка3</a>';}
</script>
<div id=mark_undstring4>
<a href="#" onclick="a_undstring4(); return false">Строка4</a>
</div>
<div id=mark_info_undstring4>
</div>
<script> function a_undstring4(){ document.getElementById('mark_info_undstring4').innerHTML = '   бочка<BR>   ведро<BR>   канистра<BR>   цистерна<BR>';document.getElementById('mark_undstring4').innerHTML = '<a href="#" onclick="a2_undstring4(); return false">Строка4</a>';}
function a2_undstring4(){ document.getElementById('mark_info_undstring4').innerHTML = '';document.getElementById('mark_undstring4').innerHTML = '<a href="#" onclick="a_undstring4(); return false">Строка4</a>';}
a_undstring4();
</script>
<div id=mark_undstring5>
<a href="#" onclick="a_undstring5(); return false">Строка5</a>
</div>
<div id=mark_info_undstring5>
</div>
<script> function a_undstring5(){ document.getElementById('mark_info_undstring5').innerHTML = '   ПодСтрока5';document.getElementById('mark_undstring5').innerHTML = '<a href="#" onclick="a2_undstring5(); return false">Строка5</a>';}
function a2_undstring5(){ document.getElementById('mark_info_undstring5').innerHTML = '';document.getElementById('mark_undstring5').innerHTML = '<a href="#" onclick="a_undstring5(); return false">Строка5</a>';}
</script>
<div id=mark_undstring6>
<a href="#" onclick="a_undstring6(); return false">Строка6</a>
</div>
<div id=mark_info_undstring6>
</div>
<script> function a_undstring6(){ document.getElementById('mark_info_undstring6').innerHTML = '   ПодСтрока6';document.getElementById('mark_undstring6').innerHTML = '<a href="#" onclick="a2_undstring6(); return false">Строка6</a>';}
function a2_undstring6(){ document.getElementById('mark_info_undstring6').innerHTML = '';document.getElementById('mark_undstring6').innerHTML = '<a href="#" onclick="a_undstring6(); return false">Строка6</a>';}
</script>
</td>
<td valign=top>
<table width='100%' align=center border=0 cellpadding=4 cellspacing=0>
<tr>
<td width=310>Название</td>
<td width=70 align=center>Тип</td>
<td width=150 align=left>Цена</td>
<td width=110>Время</td>
<td align=center>-</td>
</tr>
<tr>
<td>
<A NAME=12430>
</A>
<table>
<tr>
<td widt=50 height=50>
</td>
<td valign=top>
#12430 - канистра <b>
</b>
<BR>
<b>6 шт.</b>
</td>
</tr>
</table>
</td>
<td align=center>
<b>Продажа</b>
</td>
<td align=left>
<table cellspacing=0 cellpadding=0>
<tr>
<td>
<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td>
</td>
<td>1,959</td>
</tr>
</table>
</td>
<td> <b>за 1 шт.</b>
</td>
</tr>
</table>
</td>
<td>23 ч. 58 мин. </td>
<td valign=top>
Купить
</td>
</tr>
<tr>
<td>
<A NAME=12589>
</A>
<table>
<tr>
<td widt=50 height=50>
</td>
<td valign=top>
#12569 - канистра <b>
</b>
<BR>
<b>7 шт.</b>
</td>
</tr>
</table>
</td>
<td align=center>
<b>Продажа</b>
</td>
<td align=left>
<table cellspacing=0 cellpadding=0>
<tr>
<td>
<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td>
</td>
<td>1,960</td>
</tr>
</table>
</td>
<td> <b>за 1 шт.</b>
</td>
</tr>
</table>
</td>
<td>19 ч. 50 мин. </td>
<td valign=top>
Купить
</td>
</tr>
<tr>
<td>
<A NAME=12589>
</A>
<table>
<tr>
<td widt=50 height=50>
</td>
<td valign=top>
#12589 - канистра <b>
</b>
<BR>
<b>1 шт.</b>
</td>
</tr>
</table>
</td>
<td align=center>
<b>Продажа</b>
</td>
<td align=left>
<table cellspacing=0 cellpadding=0>
<tr>
<td>
<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td>
</td>
<td>1,984</td>
</tr>
</table>
</td>
<td> </td>
</tr>
</table>
</td>
<td>12 ч. 57 мин. </td>
<td valign=top>
Купить
</td>
</tr>
</table>
</td>
</tr>
</table>
<script>
</script>
</td>
</tr>
</table>
<!--</td></tr></table>--> <!-- big table -->
</center>
</BODY>
</HTML>

[/code]
Ответить

Вернуться в «Вебмастеру»