0

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

<td class="mw-enhanced-rc">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;18:10&nbsp;</td>

JavaScript を使用して時刻を太字にしたいと考えています。

$('td[class^="mw-enhanced-rc"]').each(function() {
    this.style = this.style.fontWeight="bold";
}

↑動かないのですがどうすれば直りますか?

次に、ページのレンダリング時に現在の時間から 1 分以内の時間にのみ特別な書式設定をページに適用するにはどうすればよいですか? http://en.wikipedia.org/wiki/User:Technical_13/common.jsに表示される私のコード:

/* Refresh my WatchList page when viewing every minute */
if (document.location.href == "http://en.wikipedia.org/wiki/Special:Watchlist") {
    setTimeout(function(){location = ''},60000);
    var timeNow = new Date();
    var minNow = timeNow.getMinutes();
    var minNow = minNow - 5;
    timeNow.setMinutes(minNow);
    var postTime = $('td.mw-enhanced-rc').html();
    for (i=0;i<6;i++) {var postTime = postTime.replace('&nbsp;', '');}
    var postTime = postTime.replace('<span class="mw-enhancedchanges-arrow-space"></span>', '');
    var postTime = postTime.replace('<abbr class="newpage" title="This edit created a new page">N</abbr>', '');
    var postTime = postTime.replace('<abbr class="minoredit" title="This is a minor edit">m</abbr>', '');
    var postTime = postTime.replace('<abbr class="botedit" title="This edit was performed by a bot">b</abbr>', '');
    var postTime = postTime.replace('<abbr class="unpatrolled" title="This edit has not yet been patrolled">!</abbr>', '');
    var postTime = postTime.split(':', '2');
    var postHour = postTime[0];
    var postMin = postTime[1];
    var timePost = new Date();
    timePost.setHours(postHour);
    timePost.setMinutes(postMin);
    if (timePost >= timeNow) {
        $('td.mw-enhanced-rc').css({
            fontWeight: 'bold',
            fontSize: '12pt'
        });
    }
}

↑動かないのですがどうすれば直りますか?私も追加しようとしました:

var timePost = timePost.getTime();
var timeNow = timeNow.getTime();

最後の条件付き if ステートメントの直前では役に立ちません。イライラする...

また、それに取り組むためのJSfiddleも作成しました。

編集:あはは!私の条件ステートメントは機能しているように見えますが、ページの最初のインスタンスしか評価していません! 次に$('td.mw-enhanced-rc').css({fontWeight: 'bold', fontSize: '12pt'});、修飾する innerHTML を持つ要素のみに適用するのではなく、すべての div 要素に適用します。資格のある div 要素の css のみを変更するように (おそらく style= 属性を挿入することによって) 誰かがこれを改良するのを手伝ってくれますか?

4

4 に答える 4

4

次のようにして単純化できます。

$('td.mw-enhanced-rc').css({fontWeight: 'bold'});
于 2013-03-12T22:17:47.233 に答える
1

式が原因で、コードが機能しません。

this.style = this.style.fontWeight="bold";

この式は次のようにする必要があります。

this.style.fontWeight = "bold";

すでに jQuery (または Zepto) を使用しているため、css() メソッドを使用できます。

$('td[class^="mw-enhanced-rc"]').each(function() {
    $(this).css('fontWeight', 'bold');
}
于 2013-03-12T22:21:41.920 に答える
0

質問のすべての部分に答え、私が探していたものを達成するために働いたソリューションコードは次のとおりです。

var timeNow = new Date();
var minNow = timeNow.getMinutes();
var minNow = minNow - 5;
timeNow.setMinutes(minNow);
var postTime = $('td.mw-enhanced-rc').html();
for (i=0;i<6;i++) {var postTime = postTime.replace('&nbsp;', '');}
var postTime = postTime.replace('<span class="mw-enhancedchanges-arrow-space"></span>', '');
var postTime = postTime.replace('<abbr class="newpage" title="This edit created a new page">N</abbr>', '');
var postTime = postTime.replace('<abbr class="minoredit" title="This is a minor edit">m</abbr>', '');
var postTime = postTime.replace('<abbr class="botedit" title="This edit was performed by a bot">b</abbr>', '');
var postTime = postTime.replace('<abbr class="unpatrolled" title="This edit has not yet been patrolled">!</abbr>', '');
var postTime = postTime.split(':', '2');
var postHour = postTime[0];
var postMin = postTime[1];
var timePost = new Date();
timePost.setHours(postHour);
timePost.setMinutes(postMin);
var timePost = timePost.getTime();
var timeNow = timeNow.getTime();
if (timePost >= timeNow) {
    var enhRC = $('td.mw-enhanced-rc').html();
    $('td[class^="mw-enhanced-rc"]').each(function() {
        this.innerHTML = this.innerHTML.replace(enhRC, '<span style="font-weight: bold; font-size: 12pt;">' + enhRC + '</span>');
    });
}
于 2013-03-13T15:43:28.610 に答える
0

次のようなものを試してください:

$('td.mw-enhanced-rc').each(function()
   {
      this.style.fontWeight = "bold";
   }
);
于 2013-03-12T22:18:44.720 に答える