javascript - 如何使用 jquery 将 CSS 添加到元素,仅使用一个类来标识该元素,并且仅当 innerHTML 中的时间在现在的 5 分钟内?

标签 javascript jquery html mediawiki

我有以下 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";
}

↑ 不起作用,我该如何修复它?

那么,如何使我的页面仅在页面渲染当前时间一分钟以内的时间应用特殊格式?我的代码如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'});到所有 div 元素,而不仅仅是具有合格的innerHTML 的元素。任何人都可以帮助我改进它,只更改符合条件的 div 元素的 css(可能通过注入(inject) style= 属性)吗?

最佳答案

您可以通过执行以下操作来简化它:

$('td.mw-enhanced-rc').css({fontWeight: 'bold'});

关于javascript - 如何使用 jquery 将 CSS 添加到元素,仅使用一个类来标识该元素,并且仅当 innerHTML 中的时间在现在的 5 分钟内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15373292/

相关文章:

html - 样式表链接中的 href 属性在 Node 中不起作用

html - 停靠 div 在父 div 的顶部垂直显示为内联 block

javascript - 如何对 JavaScript JQuery 函数中使用的变量进行串联

javascript - 如何添加事件处理程序以在 Ember.js 中路由显示的事件?

javascript - 如何在 Python 中解码转义的 unicode javascript 代码?

javascript - boomerang vc导航定时页面加载时间RT插件中timeDone的区别

jquery - 使用 jquery 定位 CSS 内联背景

jquery - 如何在 jqgrid 标题组中居中对齐文本

html - 滚动时如何消除空格[固定侧边栏]

javascript - Chrome 扩展多个匹配项