Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.09.2014, 17:10
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 147

В чем ошибка применения функции
На странице пытаюсь, чтобы сработала ветка условного оператора(файл abv347.js) с такой проверкой:
if(String(window.location).indexOf("-detail") > 0 && $(".addtocart-area").is("select")){...

то есть ветка(условие) должна срабатывать, когда страница
1. содержит "-detail" в адресе
2. содержит элемент html-разметки <select>, который находится внутри элемента с классом addtocart-area

Видимо неправильно применил функцию .is. В чём ошибка?
Ответить с цитированием
  #2 (permalink)  
Старый 19.09.2014, 17:56
Аватар для Viral
Профессор
Отправить личное сообщение для Viral Посмотреть профиль Найти все сообщения от Viral
 
Регистрация: 26.04.2011
Сообщений: 472

содержит элемент html-разметки <select> с классом addtocart-area
Ответить с цитированием
  #3 (permalink)  
Старый 19.09.2014, 19:04
Новичок на форуме
Отправить личное сообщение для samber Посмотреть профиль Найти все сообщения от samber
 
Регистрация: 19.09.2014
Сообщений: 3

1. indexOf возвращает -1 если подстрока не найдена. В условии используйте >= 0
2. Напишите так $('.addtocart-area select').length
В итоге:
if(String(window.location).indexOf("-detail") >= 0 && $('.addtocart-area select').length)
Ответить с цитированием
  #4 (permalink)  
Старый 19.09.2014, 19:27
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Для indexOf есть такой трюк:
var string = "123";
if (~string.indexOf("1"))
  alert("Нашел! Нашел!");

http://learn.javascript.ru/bitwise-o...%D0%BD%D0%B0-1
Цитата:
Видимо неправильно применил функцию .is. В чём ошибка?
Метод is в данном случае вернет true, если хотя бы один из элементов с классом addtocart-area является элементом с именем тега select.
Ответить с цитированием
  #5 (permalink)  
Старый 19.09.2014, 23:20
Аспирант
Посмотреть профиль Найти все сообщения от petya
 
Регистрация: 02.09.2014
Сообщений: 77

Сообщение от borus
(String(window.location).indexOf("-detail") > 0
вот эту трахомудию можно сократить до /-detail/.test(location)
Ответить с цитированием
  #6 (permalink)  
Старый 19.09.2014, 23:53
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

petya,
~location.href.indexOf("-detail")
__________________
29375, 35
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять в чем ошибка? razorg1991 Общие вопросы Javascript 10 28.03.2014 00:46
в чем ошибка? czp Общие вопросы Javascript 3 23.01.2013 16:28
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09
не могу понять в чём ошибка scuter Общие вопросы Javascript 2 28.08.2008 15:22
Вызов функции из файла. Phoenix Общие вопросы Javascript 2 21.11.2007 22:49