55

attribute contains セレクター$('[attribute*=value]')を使用して、次のことを行っています。

<input name="man-news">
<input name="milkMan">

<script>    
    $( "input[name*='man']").css("background-color:black");
</script>

これは最初の入力では機能しますが、「 Man」には大文字の「M」があるため、2 番目の入力では機能しません。

$( "input[name*='man']")大文字と小文字を区別しないセレクターを作成するにはどうすればよいですか?

4

5 に答える 5

41

いつでも使用できます.filter()

var mans = $('input').filter(function() {
    return $(this).attr('name').toLowerCase().indexOf('man') > -1;
});

mans.css('background-color', 'black');

ここで重要な部分はtoLowerCase()、属性を小文字にしnameて、 を含むかどうかをテストできるようにすることですman

于 2013-10-19T10:47:39.253 に答える
1

以下のコードを使用して目的を達成するために、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

于 2016-01-11T10:59:05.723 に答える
1
var control = $('input').filter(function() {
    return /*REGEX_VALUE*/i.test($(this).attr('id'));
});

*REGEX_VALUE* - 検索する値

正規表現を使用して、属性「ID」が満たされているかどうかを検証することになりました...特定の一致する値、大文字と小文字を区別する、区別しない、または特定の範囲の値を見つけたい場合、正規表現ははるかに柔軟です...

于 2014-02-28T03:41:28.780 に答える