Javascript.RU

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

Поиск элементов, класс которых содержит помимо прочего одно слово
Здравствуйте.

На странице есть похожие select-ы, которые отличаются названиями классов, которые впрочем похожи своей концовкой. Есть такие названия классов:
baget_select
tsvet_select
razmer_select

Можно ли какой-то одной функцией проверить наличие таких элементов? Интересует проверка вида
if($("select").hasClass('*_select')){...

где * в моей интерпретации здесь подразумевает любое количество символов в начале названия класса
Ответить с цитированием
  #2 (permalink)  
Старый 23.01.2015, 12:03
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от borus
Можно ли какой-то одной функцией проверить наличие таких элементов?
А зачем это нужно?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 23.01.2015, 13:12
Аватар для borus
Кандидат Javascript-наук
Отправить личное сообщение для borus Посмотреть профиль Найти все сообщения от borus
 
Регистрация: 07.12.2012
Сообщений: 147

Сообщение от danik.js Посмотреть сообщение
А зачем это нужно?
надо проверить наличие таких элементов и что-то сделать в случае наличия
Ответить с цитированием
  #4 (permalink)  
Старый 23.01.2015, 13:36
Аспирант
Посмотреть профиль Найти все сообщения от losos100
 
Регистрация: 21.01.2015
Сообщений: 39

Сообщение от borus
надо проверить наличие таких элементов и что-то сделать в случае наличия
<html>
<head>
</head>
 
<body>

<select class="foo_select"></select>
<select class="foo_noselect"></select>
<select class="fuck_select"></select>

<script>

alert(
 [].filter.call(document.getElementsByTagName("select"), function(e){
    return /_select/.test(e.className)
  }).length>0
)

</script>
</body>
 
</html>

_select$ будет надежней, если не предполагается foo_selectbar и пр.

Последний раз редактировалось losos100, 23.01.2015 в 13:42.
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2015, 13:41
Аспирант
Отправить личное сообщение для d.skuratovich Посмотреть профиль Найти все сообщения от d.skuratovich
 
Регистрация: 19.09.2014
Сообщений: 73

borus, не слушайте ответы про регулярные выражения!)
jQuery('[class*="_select"]');


Вот этим все решается. На будущее надо немного знать селекторы
Ответить с цитированием
  #6 (permalink)  
Старый 23.01.2015, 13:41
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

как вариант $('[class*=_select]').length - все элементы содержащие эту строку в аттрибуте clsss
$('[class$=_select]').length - все элементы атрибут class которых заканчивается на _select
Ответить с цитированием
  #7 (permalink)  
Старый 23.01.2015, 13:56
Аспирант
Посмотреть профиль Найти все сообщения от losos100
 
Регистрация: 21.01.2015
Сообщений: 39

Сообщение от d.skuratovich
На будущее надо
На будущее надо учиться красить губы и носить чулки. Любая jq-секретутка должна освоить азы своей профессии.
Ответить с цитированием
  #8 (permalink)  
Старый 23.01.2015, 14:31
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

losos100,
Это я тебе написал, ты второй раз ошибся, мой маленький истеричный друг.
Ответить с цитированием
  #9 (permalink)  
Старый 23.01.2015, 14:39
Аспирант
Посмотреть профиль Найти все сообщения от losos100
 
Регистрация: 21.01.2015
Сообщений: 39

krasovsky,
Ну, и что значит теги, идиот? Раскрой загадку. Я че-то подозревать начинаю, что ты реально русский не ботаешь, уже кроме шуток.
Ответить с цитированием
Ответ



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

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