Вы можете использовать каждый () ...
// Iterate over an array of strings, select the first elements that
// equalsIgnoreCase the 'matchString' value
var matchString = "MATCHME".toLowerCase();
var rslt = null;
$.each(['foo', 'bar', 'matchme'], function(index, value) {
if (rslt == null && value.toLowerCase() === matchString) {
rslt = index;
return false;
}
});
Нет. Вам придется возиться со своими данными, я обычно делаю все свои строки строчными буквами для облегчения сравнения. Также существует возможность использования настраиваемой функции сравнения, которая будет выполнять необходимые преобразования, чтобы сделать сравнение нечувствительным к регистру.
может пройти через массив и toLower каждый элемент и toLower то, что вы ищете, но в этот момент вы можете просто сравнить это вместо использования inArray ()
Похоже, вам, возможно, придется реализовать собственное решение этой проблемы. Здесь - хорошая статья о добавлении пользовательских функций в jQuery. Вам просто нужно будет написать пользовательскую функцию для цикла и нормализации данных, а затем сравнить.