Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery如果一个div';s id小于一个var_Jquery_Css - Fatal编程技术网

jQuery如果一个div';s id小于一个var

jQuery如果一个div';s id小于一个var,jquery,css,Jquery,Css,如果div的id小于var的值,我会尝试更改div的类。这是我第一次问问题,也是我第一次使用jQuery,所以我确信这非常简单,但我在任何地方都找不到答案。以下是我当前使用的代码: $(function(){ var today = new Date(); var weekno = today.getWeek()-1; $("div[id$<weekno]").addClass("hidden"); }) $(函数(){ var today=新日期(); var weekno=toda

如果div的id小于var的值,我会尝试更改div的类。这是我第一次问问题,也是我第一次使用jQuery,所以我确信这非常简单,但我在任何地方都找不到答案。以下是我当前使用的代码:

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

$(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");
       }
    });

});
$(函数(){
Date.prototype.getWeek=函数(){
var FY=新日期(this.getFullYear(),0,1);
返回Math.ceil(((this-FY)/86400000)+FY.getDay()+1)/7);
};
var weekno=new Date().getWeek();
//警报(weekno);
$(“div”)。每个(函数(){
var weekNum=this.id.match(/\d+/);
如果(周数&&weekNum
我认为JavaScript没有获取周数的方法,因此您的第一个问题是找到一种计算周数的方法。我将从查看代码开始

接下来,您应该查看HTML id值。仅使用整数是无效的,因此您应该找到一种将数字合并到字符串后面某个位置的方法

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

我想到了一个快速解决你问题的方法:

HTML:

第2周
第5周
第11周
JavaScript:

$(function(){
    var today = new Date(); 
    var weekno = 10;
    $(".week").each(function() {
        n = $(this).attr("id").split("_")[1];
        if(n < weekno) {
            $(this).hide();
        }
    });
});
$(函数(){
var today=新日期();
var-weekno=10;
$(“.week”)。每个(函数(){
n=$(this.attr(“id”).split(“”)[1];
如果(n

希望这有帮助。

首先,日期对象没有getWeek()方法,其次,是否要使用id属性选择器?可以尝试以下操作:

$(“div[id$”+weekno+“]”)addClass(“隐藏”)


或者您也可以

这里有一个示例来演示如何完全按照所述操作:

HTML:

<div id="1">Hello world</div>
<div id="2">Hello world2</div>
<div id="15">Hello world2</div>
.foo {
    font-size:100px;
}
$(function(){
    $( "div" ).each(function( index ) {
        if($(this).attr('id') < 10){
            $(this).addClass('foo');
        }
    });
});
jQuery:

<div id="1">Hello world</div>
<div id="2">Hello world2</div>
<div id="15">Hello world2</div>
.foo {
    font-size:100px;
}
$(function(){
    $( "div" ).each(function( index ) {
        if($(this).attr('id') < 10){
            $(this).addClass('foo');
        }
    });
});

不要在数字中使用
ID
s,但我可以为你写一个合理的提琴。我添加了一个完全符合你问题的答案。:-)我认为他的部分代码是有效的…日期。他只是没有包括它,因为它不相关。:-)我每天都在做得越来越好。谢谢大家的回答。元素的整数ID无效,你应该考虑用字母来改变它们。@ HTML5编号TPBODDEN FIY编号<代码> ID <代码>完全有效。你有资源可以证明或学习吗?他是对的,只是查了一下,然后解释一下。谢谢,我也不知道。