0

私はこのHTMLを持っています:

<p>
   (rcvd)                           
<a href="linkhere">Title</a>
   by Person,                          
<br></br>
   - More text            
</p>

そして、(rcvd) の色を緑に変更したいと思います。私は次のことを試しました:

  1. これにより、行全体が緑色に変わりますが、リンクは保持されます

    $("p:contains('(rcvd)')").attr("style","color:green");

  2. これにより、rcvd 部分が緑色に変わりますが、タイトル リンクが削除されます。

    $("p").each(function() {
        var text = $(this).text();
        text = text.replace("(rcvd)", "<span style='color:green;'>(rcvd)</span>");
        $(this).html(text);
    });
    
  3. これは何もしませんが、私が見逃している小さな微調整で私が望む解決策だと思います

    $(p).html($(p).html().replace("(rcvd)","<span style='color:green;'>(rcvd)</span>"));
    

任意のポインターを歓迎します (私はまだ JQuery を使用するのが初めてで、学習しようとしているので、なぜあなたが提案を行うのかについて説明したいと思います.

4

4 に答える 4

3

これにより、P 内の最初のノード (たまたまテキスト ノード) が選択され、スタイルが設定されます。

$("p").contents().first().wrap("<span style='color:green'></span>");

デモ: http://jsfiddle.net/jrAWn/

更新されました。わかりました、これはクラスを使用しています:

.rStyle {
   color:green;     
}

$("p").contents().first().wrap("<span/>").parent().addClass("rStyle");
于 2013-09-24T13:32:01.447 に答える
0

タグを使用css()してクラスを指定します。<p>

<p id="myGreenClass">(rcvd)</p>

そして、このjQueryコード:

$('.myGreenClass').css('color', 'green');
于 2013-09-24T13:30:39.120 に答える