Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.08.2011, 22:59
Аспирант
Отправить личное сообщение для tarya Посмотреть профиль Найти все сообщения от tarya
 
Регистрация: 29.03.2011
Сообщений: 49

Split return False?
Подскажите друзья такую вещь:

Нужно сделать проверку на вероятность в атрибуте элемента запись нескольких классов.

Например есть элемент:

<div class="fedya"></div>
<div class="fedya vasya"></div>


Если я буду делать проверку:

switch($(object).attr("class")){....


То ниже класс fedya найти (case "fedya " реально, а вот попадание "fedya vasya" уже нет. Для обхода этой проблемы я решил делать проверку через Сплит:

if($(object).attr("class").split(" ")){....


Но мне всегда возвращается ТРУ даже если там всего один класс, и нечего разрывать чтоб вернуть массив.

Подскажите как обойти данную проблему. По факту мне нужно через "switch" прокатить класс который есть у элемента, и сделать соответсвующую зарубку, если же классов два или более делать и по ним.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 24.08.2011, 23:19
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

if($(object).attr("class").split(" ").length > 1){....
Ответить с цитированием
  #3 (permalink)  
Старый 24.08.2011, 23:37
Аспирант
Отправить личное сообщение для tarya Посмотреть профиль Найти все сообщения от tarya
 
Регистрация: 29.03.2011
Сообщений: 49

Ага, спасибо. Почему бы сразу не возвращать фолз.

Спасибо за совет!
Ответить с цитированием
  #4 (permalink)  
Старый 24.08.2011, 23:43
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от tarya
Почему бы сразу не возвращать фолз.
Потому что работа функции должна быть интуитивно понятной и удобной. split, как намекает название, разбивает строку на массив подстрок. Как-то нелогично, неудобно и странно возвращать в одном случае массив, а в другом логическое значение.

В Вашем случае вообще нужно только проверить строку на наличие подстроки (здравствуй, indexOf), но нет, куда круче разбить строку по искомой подстроке и посмотреть количество элементов разбиения.
Ответить с цитированием
  #5 (permalink)  
Старый 25.08.2011, 00:09
Аватар для bret
Кандидат Javascript-наук
Отправить личное сообщение для bret Посмотреть профиль Найти все сообщения от bret
 
Регистрация: 04.10.2008
Сообщений: 128

А варианты с .hasClass или .is не подходят?
__________________
я подыскиваю мозг... твой подойдёт
Ответить с цитированием
  #6 (permalink)  
Старый 25.08.2011, 01:18
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от bret Посмотреть сообщение
А варианты с .hasClass не подходят?
было бы красивее и удобнее, это да. только для его сложно в реализации,мне кажется
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
button.click(function() { return false; } ) cmygeHm jQuery 6 25.02.2011 10:37
буфер обмена в Firefox KOLANICH Общие вопросы Javascript 4 01.07.2010 18:12
Свойства посредством полиморфных функций tenshi Ваши сайты и скрипты 0 18.03.2010 17:12
Проблема с if...else parzh-junior Элементы интерфейса 18 04.12.2009 17:17
прямые ссылки kristian Общие вопросы Javascript 1 04.03.2009 11:29