Ik doe het volgende met kenmerk bevat selector $(‘[attribute*=value]’ )
<input name="man-news">
<input name="milkMan">
<script>
$( "input[name*='man']").css("background-color:black");
</script>
Dit werkt voor de eerste invoer, maar niet voor de tweede invoer, aangezien “Man” een hoofdletter “M” heeft
Hoe kan ik van $( "input[name*='man']")
een hoofdletterongevoelige selector maken?
Antwoord 1, autoriteit 100%
De eenvoudigste manier om dit te doen is door een hoofdletterongevoeligheidsvlag ‘i’ toe te voegen in het regex-gedeelte van de selector:
Dus in plaats van
$( "input[name*='man']")
Je zou kunnen doen
$( "input[name*='man' i]")
JS viool: https://jsfiddle.net/uoxvwxd1/3/
Antwoord 2, autoriteit 49%
Je kunt altijd .filter()
gebruiken:
var mans = $('input').filter(function() {
return $(this).attr('name').toLowerCase().indexOf('man') > -1;
});
mans.css('background-color', 'black');
Het belangrijkste onderdeel hier is toLowerCase()
waarmee het kenmerk name
in kleine letters wordt weergegeven, zodat u kunt testen of het man
bevat.
Antwoord 3
var control = $('input').filter(function() {
return /*REGEX_VALUE*/i.test($(this).attr('id'));
});
*REGEX_VALUE* – de waarde die u zoekt
Uiteindelijk heb ik regex gebruikt om te valideren of het attribuut ‘ID’ voldoet aan… regex is veel flexibeler als je een bepaalde overeenkomende waarde of waarden wilt vinden, hoofdlettergevoelig of ongevoelig of een bepaald bereik van waarden…
Antwoord 4
Ik kon de hoofdlettergevoeligheid van jQuery gewoon negeren om te bereiken wat ik wil met onderstaande code,
$.expr[":"].contains = $.expr.createPseudo(function(arg) {
return function( elem ) {
return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
};
});
U kunt deze link gebruiken om code te vinden op basis van uw jQuery-versies,
https://css-tricks.com/snippets/jquery /make-jquery-contains-case-insensitive/
Er is ook een artikel waarin het veel goede dingen doet met jQuery: http://www.ultechspot.com/jquery/using-jquery-search-html-text-and-show-or-hide-accordingly
Antwoord 5
Dit werkt voor mij als ik jQuery gebruik en als ik een item aan een tabel toevoeg
// 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;
}