Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   :contains Как указать несколько значений? (https://javascript.ru/forum/jquery/20702-contains-kak-ukazat-neskolko-znachenijj.html)

Mafa 14.08.2011 13:53

:contains Как указать несколько значений?
 
Здравствуйте!
Есть два случая. В первом, нужно скрыть разделы форума таким способом:
$('div.gDivRight:contains(Test category)').hide();

Во втором, нужно выбрать ячейку таблицы по наличию в ней нескольких слов, которые идут не подряд. Если точнее, нужно определить, сколько создано тем за текущий день, для этого я решила считать все сообщения на форуме, обязательно имеющие слова "Сегодня" и "Сообщение # 1".(Не знаю, возможно существует более простой способ вычислить новые темы, но у меня пока опыта не хватает, чтобы найти его :-? )
Подскажите, пожалуйста, можно ли указать несколько значений :contains в первом случае, или для каждого раздела придётся писать отдельную команду? И как во втором случае указать оба значения?
Документацию перечитывала, но подобного примера не нашла. Может такой возможности нет?

Заранее благодарна за ответ!

walik 14.08.2011 14:59

А разве это не проще на сервере делать (да и логичней по моему) ? :-?

Возможно так:
$('td:contains(Сегодня)').filter('td:contains(Сообщение # 1)');

Mafa 14.08.2011 15:04

walik, может и логичней, но я настолько чайник, что ни слова не поняла из Вашего поста. В смысле, слова ясны, но их значение...:blink: Объясните, пожалуйста, "чайничьим" языком, хотя бы в общих чертах. :)

walik 14.08.2011 15:08

Если я не ошибаюсь то данная строка
$('td:contains(Сегодня)').filter('td:contains(Сообщение # 1)');

Вернет вам ячейки содержащий указанные слова. Ну а с ними делайте уже что хотели. Или что не понятно ?

Mafa 16.08.2011 19:16

walik, спасибо! С этим всё понятно! :) Как отобрать первые посты понятно, а вот как подсчитать сколько их на форуме(созданных за сегодня) - непонятно вообще. :( Это, я так понимаю, вопрос для отдельной темы, но засорять форум своими вопросами не хочется. Может кто подскажет? Хотя бы в общих чертах?

tadjik1 17.08.2011 12:51

кол-во элементов — это size()

т.е. пишешь селектор, затем .size().

$('td:contains(Сегодня)').filter('td:contai ns(Сообщение # 1)').size();

я сам очень недавно начал заниматься jquery, очень советую хромовую консоль - Ctrl+Shift+«i». там можно писать js код и смотреть как он отрабатывает.

А если тебе нужно не просто посчитать сколько элементов, а над каждым их них что-нибудь сделать, то нужно использовать .each(function(number,value){console.info(number,v alue)})

Mafa 17.08.2011 15:58

tadjik1, у меня проблема в том, что количество нужных постов показывается, но только на странице с постом, то есть в теме. И естественно, в каждой теме только одно сообщение №1. В общем, у каждого отобранного элемента разный адрес - "http://мойсайт/форум/idфорума-idтемы-1.ру. Пробовала подставлять $TID$ в адрес - не работает. С Аяксом у меня пока отношения вообще никакие... Хочу попробовать назначить переменную, соответствующую ссылкам-названиям тем, и подставлять её вместо урла в запрос. Но как писать сам запрос??? Блин, тяжко быть блондинкой. :(


Часовой пояс GMT +3, время: 08:58.