jQuery如果div的id小于var,我想更改div的类

时间:2014-01-25 01:38:27

标签: jquery css

如果div的id小于我的var的值,我正在尝试更改div的类。这是我第一次问一个问题,第一次使用jQuery,所以我确定这很容易,但我无法找到答案。这是我目前使用的代码:

$(function(){
var today = new Date(); 
var weekno = today.getWeek()-1;
$("div[id$<weekno]").addClass("hidden");
})

谢谢!

4 个答案:

答案 0 :(得分:0)

LIVE DEMO

$(function(){

    Date.prototype.getWeek = function() {
        var FY = new Date(this.getFullYear(),0,1);
        return Math.ceil((((this - FY) / 86400000) + FY.getDay()+1) / 7);
    };

    var weekno = new Date().getWeek();

  //alert(weekno);
    $("div").each(function(){
       var weekNum = this.id.match(/\d+/);
       if(weekNum  && weekNum < weekno){
           $(this).addClass("hidden");
       }
    });

});

答案 1 :(得分:0)

我认为JavaScript没有获取周数的方法,因此您的首要问题是找到计算它的方法。我首先看一下代码here

接下来,您应该查看HTML id值。只使用一个整数是无效的,所以你应该想办法在字符串之后的某个地方加入数字。

下一个要看的地方是CSS选择器。小于选择器的条件是无效的,因此您可能必须遍历每个条件(每个都查看jQuery)here

我在这里想出了一个快速解决问题的方法:http://jsfiddle.net/vpgNL/

HTML:

<div class="week" id="week_2">Week 2</div>
<div class="week" id="week_5">Week 5</div>
<div class="week" id="week_11">Week 11</div>

JavaScript的:

$(function(){
    var today = new Date(); 
    var weekno = 10;
    $(".week").each(function() {
        n = $(this).attr("id").split("_")[1];
        if(n < weekno) {
            $(this).hide();
        }
    });
});

希望这有帮助。

答案 2 :(得分:0)

以下是完整描述内容的示例:http://jsfiddle.net/SinisterSystems/yJ4cu/2/

<强> HTML:

<div id="1">Hello world</div>
<div id="2">Hello world2</div>
<div id="15">Hello world2</div>

<强> CSS:

.foo {
    font-size:100px;
}

<强> jQuery的:

$(function(){
    $( "div" ).each(function( index ) {
        if($(this).attr('id') < 10){
            $(this).addClass('foo');
        }
    });
});

那么,我们在这里用JS

做什么
$( "div" ).each(function( index ) { // Find every div
    if($(this).attr('id') < 10){    // if it has an ID of under x
        $(this).addClass('foo');    // add the class
    }
});

答案 3 :(得分:-1)

首先,Date对象没有getWeek()方法,其次,你想使用id属性选择器吗?你可以试试这个:

  

$(“div [id $”+ weekno +“]”)。addClass(“hidden”);

或者你可以jQuery