0

私は共有ポイントカレンダーを持っていて、含まれている登録番号に応じて異なるブロックを色分けしたい(学校のミニバス用)

a.ms-cal-tweekitem に "EF04 WTR" が含まれている場合、.ms-cal-eworkday の背景色を設定する方法

私はaspxを編集する能力がないので、js/jqueryでこれを行う必要があります(議会の政治)

各エントリーはこんな感じ。

<td class="ms-cal-eworkday" rowspan="6"> 
    <table cellpadding="0" cellspacing="0" border="0" class="ms-cal-tweekitem" dir="">
    <tbody><tr>
        <td valign="top" href="/schools/ecclesfield/newdemosite/minibus-booking/Lists/Minibus/DispForm.aspx?ID=3" onclick="GoToLink(this);return false;" target="_self">
         <div>
          <img src="/_layouts/images/blank.gif" width="50" height="1" alt=""><br>
          <img src="/_layouts/images/recursml.gif" class="ms-cal-hidden" alt="" align="absmiddle">
          <a onfocus="OnLink(this)" class="ms-cal-dayitem" href="/schools/ecclesfield/newdemosite/minibus-booking/Lists/Minibus/DispForm.aspx?ID=3" onclick="GoToLink(this);return false;" target="_self" tabindex="5">
            <nobr>03:00 PM</nobr>
            <br>
            <b>test2</b>
            <br>
            EF04 WTR
            </a>
         </div>
         </td>
     </tr>
     </tbody></table>

</td>

コードが少し混乱していることは知っていますが、それはまさにsharepointの仕組みです:(

前もって感謝します。

ルイス

4

3 に答える 3

1

明らかに色を変更しますが、これにより、テキストtd.ms-cal-eworkdayを含むすべての背景が赤に設定されます...a.ms-cal-dayitemEF04 WTR

$("a.ms-cal-dayitem").filter(function() {
    return $(this).text().indexOf("EF04 WTR") != -1;
}).closest("td.ms-cal-eworkday").css("background-color", "red");

filter()条件に一致する要素のみを返すことを意味します。この場合、関連するテキストが含まれています。

于 2012-12-06T15:45:18.277 に答える
1

1 つの方法は、テーブルをループして各セルをチェックすることです。

$(function(){
    $('.ms-cal-dayitem').each(function(){
        if( $(this).text().indexOf("EF04 WTR") != -1 ) {
            $(this).closest('.ms-cal-eworkday').css("background-color","blue");
        }
    });
});
于 2012-12-06T15:47:03.050 に答える
0

上記の回答と同じ行で、アプローチに関する私の唯一の変更は、CSSでクラスを作成し、jQueryでクラスを追加または削除することですが、詳細だけです

于 2012-12-06T16:44:47.130 に答える