|
IndexOf() - поиск текста на странице.
|
|
| G-XPert | Дата: 08 Марта 2010, 08:51 | Сообщение # 1 | ● ● ● ● ● 139 сообщений Статус: Offline | Здравствуйте. Возникла проблема. Нужно найти на странице селектор (tr), в котором будут встречаться и "x" и "y"… На подобии вот этого: Code var tr = $('#t_nw-5 .gTable').html(); if (tr.indexOf('x')!=-1 && tr.indexOf('y')!=-1) {} Но проблема в том, что тут может найти "x" из одного tr, а "y" из какого-нибудь другого и будет считаться что условие выполяется… А нужно сделать именно чтобы оба найденных элемента стояли в одном и том же tr. Подскажите, пожалуйста, как такое сделать. | | |
|
| Бармалей | Дата: 08 Марта 2010, 09:14 | Сообщение # 2 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | Где тут поиск tr'ов? Тут вообще-то поиск идет в содержимом .gTable. Code $('#t_nw-5 table.gTable tr').each(function(){ if(this.innerHTML.indexOf('x')!=-1 && this.innerHTML.indexOf('y')!=-1) { } });
 | | |
|
| kanat07 | Дата: 08 Марта 2010, 09:22 | Сообщение # 3 |  ● ● ● ● ● 735 сообщений Статус: Offline | Где тут поиск tr'ов? Тут вообще-то поиск идет в содержимом .gTable. Code $('#t_nw-5 table.gTable tr').each(function(){ if(this.innerHTML.indexOf('x')!=-1 && this.innerHTML.indexOf('y')!=-1) { } }); syntax error  | | |
|
| G-XPert | Отредактировал G-XPert - Понедельник, 08 Марта 2010, 09:25 Дата: 08 Марта 2010, 09:24 | Сообщение # 4 | ● ● ● ● ● 139 сообщений Статус: Offline | Бармалей, тоже немного не то. Тут поиск элемента осуществляется в самом последнем tr'е таблицы .gTable, селектора #t_nw-5. А нужно чтобы он проверял все tr на совпадения (а не только последний), и если в каком-нибудь tr'е найдёт и "x" и "y", то будет считать что условие выполнилось. ------------ kanat07, нет, код Бармалея работает. | | |
|
| Бармалей | Дата: 08 Марта 2010, 09:59 | Сообщение # 5 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | G-XPert, он работает как надо. Это Вы его неправильно применяете.
 | | |
|
| G-XPert | Дата: 08 Марта 2010, 10:42 | Сообщение # 6 | ● ● ● ● ● 139 сообщений Статус: Offline | Бармалей, вот так я его применяю: Code function rezul(){ $.get('/shop/invoices', function(i) { $('#t_nw-5 table.gTable tr', i).each(function(){ if(this.innerHTML.indexOf('Оплачен')!=-1 && this.innerHTML.indexOf('G-XPert')!=-1) { $('#rezul').html('<img src="http://s0.ucoz.net/img/icon/ok.png" alt="">'); } else { $('#rezul').html('<img src="http://s0.ucoz.net/img/icon/er.png" alt="">'); }; }); }); $('#rezul').html('<img src="http://s38.ucoz.net/img/ma/m/i2.gif" alt="">'); }; Добавлено (08 Март 2010, 10:42) --------------------------------------------- Бармалей, он действильено проверяет только в последнем tr таблицы .gTable. А нужно чтобы проверял во всех tr'ах. | | |
|
| Бармалей | Дата: 08 Марта 2010, 10:58 | Сообщение # 7 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | Бармалей, он действильено проверяет только в последнем tr таблицы .gTable. А нужно чтобы проверял во всех tr'ах. Наглая ложь. Как я уже говорил, причина в Ваших кривых руках. Code function rezul(){ $.get('/shop/invoices', function(i) { $('#t_nw-5 table.gTable tr', i).each(function(){ if(this.innerHTML.indexOf('Оплачен')!=-1 && this.innerHTML.indexOf('G-XPert')!=-1) { alert('<img src="http://s0.ucoz.net/img/icon/ok.png" alt="">'); } else { alert('<img src="http://s0.ucoz.net/img/icon/er.png" alt="">'); }; }); }); $('#rezul').html('<img src="http://s38.ucoz.net/img/ma/m/i2.gif" alt="">'); };
 | | |
|
| G-XPert | Отредактировал G-XPert - Понедельник, 08 Марта 2010, 11:18 Дата: 08 Марта 2010, 17:59 | Сообщение # 8 | ● ● ● ● ● 139 сообщений Статус: Offline | Quote (Бармалей) function rezul(){ $.get('/shop/invoices', function(i) { $('#t_nw-5 table.gTable tr', i).each(function(){ if(this.innerHTML.indexOf('Оплачен')!=-1 && this.innerHTML.indexOf('G-XPert')!=-1) { alert('<img src="http://s0.ucoz.net/img/icon/ok.png" alt="">'); } else { alert('<img src="http://s0.ucoz.net/img/icon/er.png" alt="">'); }; }); }); $('#rezul').html('<img src="http://s38.ucoz.net/img/ma/m/i2.gif" alt="">'); }; И в чём разница? Только в alert? ---------- У меня к примеру во второй tr есть и "Оплачен" и "G-XPert" А в последней у меня: "Отменён" и "G-XPert" При этом скрипт выдаёт alert('<img src="http://s0.ucoz.net/img/icon/er.png" alt="">'); Хотя должен вывести ok.png, т. к. в одной из tr есть и "Оплачен" и "G-XPert". А если в последнем tr изменить "Отменён" на "Оплачен", то выдаст ok.png, т. е. условие выполниться. Следовательно скрипт проверяет только последний tr в таблице, то, что во 2-ом tr'е выполняются оба условия - он не реагирует.Добавлено (08 Март 2010, 17:59) --------------------------------------------- Бармалей, ну так как? Можно что-то придумать? | | |
|
| kanat07 | Дата: 09 Марта 2010, 01:38 | Сообщение # 9 |  ● ● ● ● ● 735 сообщений Статус: Offline | kanat07, нет, код Бармалея работает. это я "запустить скрипт" тестировал. сегодня, его уже нет. | | |
|