Нечувствительный к регистру селектор атрибута jQuery
29566 просмотра
5 ответа
Я делаю следующее, используя атрибут содержит селектор $ ('[атрибут * = значение]')
<input name="man-news">
<input name="milkMan">
<script>
$( "input[name*='man']").css("background-color:black");
</script>
Это работает для 1-го входа, но не для второго ввода, так как « Человек » имеет заглавную « М »
Как сделать $( "input[name*='man']")
селектор без учета регистра?
Ответы (5)
36 плюса
Вы всегда можете использовать .filter()
:
var mans = $('input').filter(function() {
return $(this).attr('name').toLowerCase().indexOf('man') > -1;
});
mans.css('background-color', 'black');
Ключевой частью здесь является то, toLowerCase()
что строчные буквы name
атрибута, что позволяет вам проверить его на содержание man
.
58 плюса
Самый простой способ сделать это - добавить флаг нечувствительности к регистру 'i' внутри регулярной части селектора:
Так что вместо
$( "input[name*='man']")
Вы могли бы сделать
$( "input[name*='man' i]")
JS Fiddle: https://jsfiddle.net/uoxvwxd1/3/
Автор: araneae Размещён: 12.08.2016 05:012 плюса
var control = $('input').filter(function() {
return /*REGEX_VALUE*/i.test($(this).attr('id'));
});
* REGEX_VALUE * - значение, которое вы хотите найти
Я закончил тем, что использовал regex, чтобы проверить, удовлетворяет ли атрибут 'ID' ... regex гораздо более гибок, если вы хотите найти определенное совпадающее значение или значения, чувствительное к регистру или нечувствительное или определенный диапазон значений ...
Автор: Juvil Размещён: 28.02.2014 03:411 плюс
Я просто смог полностью игнорировать чувствительность к регистру в jQuery, чтобы достичь того, что я хочу, используя приведенный ниже код,
$.expr[":"].contains = $.expr.createPseudo(function(arg) {
return function( elem ) {
return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
};
});
Вы можете использовать эту ссылку, чтобы найти код, основанный на ваших версиях jQuery, https://css-tricks.com/snippets/jquery/make-jquery-contains-case-insensitive/
Также есть статья, где он делает много хорошего с jQuery: http://www.ultechspot.com/jquery/using-jquery-search-html-text-and-show-or-hide-accordingly
Автор: Umesh Patil Размещён: 11.01.2016 10:590 плюса
Это работает для меня, используя jQuery, и если я добавляю элемент в таблицу
// check if item already exists in table
var inputValue = $('#input').val(); // input
var checkitem = $('#exampleTable td.value div.editable').filter(function() {
//check each table's editable div matches the input value in lowercase
if ($(this).text().toLowerCase() === inputValue.toLowerCase()) {
itemexists = true;
}
});
if (itemexists) {
alert("item exists in the table");
return;
}
Автор: S.shaikh
Размещён: 01.12.2017 12:16
Вопросы из категории :
- javascript Как определить, какой из указанных шрифтов был использован на веб-странице?
- javascript Валидация клиентской стороны ASP.Net
- javascript Длина объекта JavaScript
- javascript Получение текста из выпадающего списка
- javascript Скрипт входа со скрытыми кнопками
- javascript Как автоматически изменить размер текстовой области с помощью Prototype?
- jquery Прокрутка переполненных DIV с помощью JavaScript
- jquery Экранирование строк HTML с помощью jQuery
- jquery Как сравнить HTML-сущность с JQuery
- jquery Есть ли функция "существует" для jQuery?
- jquery Как удалить все параметры в окне выбора, а затем добавить один вариант и выбрать его с помощью jQuery?
- jquery Получение идентификатора элемента, который вызвал событие
- jquery-selectors Существует ли регистр символов jQuery: содержит селектор?
- jquery-selectors Регулярные выражения селектора jQuery
- jquery-selectors How do you check if a selector matches something in jQuery?
- jquery-selectors Как получить детей из селектора $ (this)?
- jquery-selectors Выбор нескольких классов с помощью jQuery
- jquery-selectors Как узнать, какой переключатель выбран с помощью jQuery?