私は次のHTMLを持っています:
<td class="mw-enhanced-rc"> 18:10 </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(' ', '');}
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= 属性を挿入することによって) 誰かがこれを改良するのを手伝ってくれますか?