2

これは私の側の完全な骨頭の動きであると確信していますが、ここで何が起こっているのか理解できません。

特定の単語を含むdivを選択しようとしていますが、Jqueryが間違ったレベルのdivを選択しているようです。これを実行すると、私が何を意味するかがわかります。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
      <script src="http://code.jquery.com/jquery-latest.js"></script>

    <script type="text/javascript">
        $(function () {
            $(".ms-my-profileDetails:contains('Birthday')").css("color", "red");
        });
    </script>
</head>
<body>
    <div class="ms-my-profileDetails">
        <div>
            Department : <a href='http://Someurl'>IT</a>
        </div>        
        <br />
        <div>
            Birthday : <a href='http://Someurl'>1921-04-13</a>
        </div>
        <br />
    </div>
</body>
</html>

上記の結果には <div class="ms-my-profileDetails">、Birthday Divのみが必要な場合に、BirthdayとDepartmentのdiv全体が一致します。

plsは役立ちます。Tx

4

5 に答える 5

7

あなたは次のようなことをすべきです:

$(".ms-my-profileDetails").children(":contains('Birthday')").css("color", "red");

これは子divのみを対象としているため、この場合は必要なdivを選択します...

于 2013-02-18T14:46:05.507 に答える
2

Antonsソリューションの代替、それがより効率的かどうかはわかりません

$(".ms-my-profileDetails > div:contains('Birthday')").css("color", "red");
于 2013-02-18T14:47:58.080 に答える
1

「contains」を使用する:lastと、検索しているキーワードのすべての要素が取得されるため、:lastを使用して、それを含む正確な要素を取得する必要があります。

$("div:contains('Birthday'):last").css("color", "red");
于 2013-02-18T14:44:36.853 に答える
1

セレクターが間違っています。「Birthday」を含む「.ms-my-profileDetails」で要素を検索するようにjQueryに指示します。それを含むHTMLには要素が1つだけあります。

ここで、「。ms-my-profileDetails」を含む要素内に「Birthday」を含むdivが必要です。それは:

$(".ms-my-profileDetails div:contains('Birthday')").css("color", "red");

http://jsfiddle.net/pquT7/

于 2013-02-18T14:53:25.683 に答える
0

これをtyr

$(".ms-my-profileDetails").children().last().css("color", "red");
于 2013-02-18T14:47:38.580 に答える