0

jquery で特定のテキストを含むスパンを選択しようとしています。Jquery の "contains" はそれほど厳密ではないため、それを使用して "tab" を検索すると、"table" も選択されますが、これは望ましくありません。

$(".spanbox:contains('Tab')").css('background-color', 'Green')

例は次のとおりです。

<span class="spanbox">Tab</span>
<span class="spanbox">Table</span>

特定のテキストを持つクラス メンバーを排他的に選択する方法はありますか?

4

2 に答える 2

3

次のように、関数パラメーターを指定して.filter()を使用してこれを行うことができます。

$(".spanbox").filter(function() {
   return $(this).text() == 'Tab';
}).css('background-color', 'Green');
于 2013-03-23T20:18:52.480 に答える
1

この方法を試してください:

$.fn.textEquals = function (text) {
    var match = false;
    $(this).each(function () {
        if ($(this).text().match("^" + escapeRegex(text) + "$")) {
            match = true;
            return false;
        }
    });
    return match;
};

$(".spanbox").textEquals('Tab').css('background-color', 'Green');
$(".spanbox").textEquals('Table').css('background-color', 'Red');
于 2013-03-23T20:24:42.487 に答える