Jquery Выбор элемента в DIV на основе текста в диапазоне - PullRequest
0 голосов
/ 14 июня 2010

Разметка:

<div class="day">
        <span>1</span>
        <div class="icon-shop icon-blank"><p class="event-details" id="shop-1"></p></div>
        <div class="icon-eat icon-blank"><p class="event-details" id="eat-1"></p></div>
        <div class="icon-fun icon-blank"><p class="event-details" id="fun-1"></p></div>
        <div class="icon-scoop icon-blank"><p class="event-details" id="scoop-1"></p></div>
</div>
<div class="day">
        <span>2</span>
        <div class="icon-shop icon-blank"><p class="event-details" id="shop-2"></p></div>
        <div class="icon-eat icon-blank"><p class="event-details" id="eat-2"></p></div>
        <div class="icon-fun icon-blank"><p class="event-details" id="fun-2"></p></div>
        <div class="icon-scoop icon-blank"><p class="event-details" id="scoop-2"></p></div>
</div>

Это для календаря, и я собираю данные о событиях.

Пример: если событие в день 2 в категории магазина, мне нужно удалить класс .icon-blank из:

<div class="icon-shop icon-blank"><p class="event-details" id="shop-2"></p></div>

должно стать

<div class="icon-shop"><p class="event-details" id="shop-2"></p></div>

Вот что я пытаюсь сделать: У меня есть событие в день 2 в категории магазина.

var cat = 'shop';
var day = '2';

    $(".day").find("span:contains('"  + day + "') > .icon-" + cat).removeClass('icon-blank');

Приведенный выше код я пытаюсь выбрать правильный день div (день с интервалом с текстом "2", а затем выбрать div .icon-shop в течение этого дня. Если это вообще имеет какой-то смысл, lol. Спасибо за вашу помощь!

1 Ответ

1 голос
/ 15 июня 2010

Не используйте :contains(), потому что 12 также содержит 2.Лучше напиши небольшой фильтр:

var cat = 'shop';
var day = '2';

$("div.day span").filter( function() { 
  return $.trim( $(this).text() ) == day;
}).parent("div").find("div.icon-"+cat).removeClass('icon-blank');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...