Javascript Jquery Calendar-.attr(';id';)获取错误的值

Javascript Jquery Calendar-.attr(';id';)获取错误的值,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我想通过将日历创建功能中的div id放在标题文本中来设置日程标题中的日期 我得到的id如下$('.dayNumberCellValue').attr('id'),但我有一个问题,当您点击日历中的“天”时,所有天的日期都是相同的,“27”(这是我日历的起始日期)。在我看来,$('.dayNumberCellValue').attr('id')的日期相同,但是为什么,如果日历必须在所有单元格中只显示“27”日期,那么日历如何工作良好 点击功能->> $('.div-cell').t

我想通过将日历创建功能中的
div id
放在标题文本中来设置日程标题中的日期

我得到的
id
如下
$('.dayNumberCellValue').attr('id'),但我有一个问题,当您点击日历中的“天”时,所有天的日期都是相同的,“27”(这是我日历的起始日期)。在我看来,
$('.dayNumberCellValue').attr('id')
的日期相同,但是为什么,如果日历必须在所有单元格中只显示“27”日期,那么日历如何工作良好

点击功能->>

        $('.div-cell').tap(function() {
                            var i;
                            var myDate2;
                              for (i = 0; i < 42; i++) {
                                $('#' + i + 'dayCell').removeClass('tapped');

                                      }

                              $(this).toggleClass(
                                   'tapped');

                              if($(this).hasClass('tapped')){


                                    myDate2 = $('.dayNumberCellValue').attr('id');
                                    $('#MSchedule header h4').text("S - "+myDate2);}

                    });
$('.div单元格').tap(函数(){
var i;
var myDate2;
对于(i=0;i<42;i++){
$('#'+i+'dayCell')。removeClass('tapped');
}
$(this).toggleClass(
"抽头";;
if($(this).hasClass('tapped')){
myDate2=$('.dayNumberCellValue').attr('id');
$(“#MSchedule header h4”).text(“S-”+myDate2);}
});
日历创建->

function setCalendar() {

    var cTime = new Date();
    var myDate = months[cTime.getMonth()] + " " + cTime.getFullYear();
    var myDate2 = cTime.getDate() + " " + months[cTime.getMonth()];


    $('#MCalendar header h4').text(myDate);
     $('#MSchedule header h4').text("Schedule  -  " + myDate2)

    var monthView = new Array(42);

    var firstDayOfMonth = new Date(cTime.getFullYear(), cTime.getMonth(), 1);

    while (firstDayOfMonth.getDay() != 1) {

        firstDayOfMonth.addDays(-1);

    }

    var i;

    for (i = 0; i < monthView.length; i++) {


        startDate = new Date(firstDayOfMonth);

        monthView[i] = startDate.addDays(i);

        }


for(var day=0;day<monthView.length;day++){

var needDay=monthView[day].getDate();

var cell = $('#'+day+'dayCell');
var content = '<div class="dayNumberCellValue" id=' +needDay+ '>'
    + monthView[day].getDate()
            + '</div>';
        cell.append(content);}
函数setCalendar(){
var cTime=新日期();
var myDate=months[cTime.getMonth()]+“”+cTime.getFullYear();
var myDate2=cTime.getDate()+“”+months[cTime.getmonths()];
$('#MCalendar header h4')。文本(myDate);
$('#MSchedule header h4')。文本(“Schedule-”+myDate2)
var monthView=新阵列(42);
var firstDayOfMonth=新日期(cTime.getFullYear(),cTime.getMonth(),1);
while(firstDayOfMonth.getDay()!=1){
每月第一天添加天数(-1);
}
var i;
对于(i=0;i
myDate2 = $('.dayNumberCellValue').attr('id');
将始终获取匹配元素的
id
值(文档中从顶部开始的类为“dayNumberCellValue”的第一个元素)

您尚未显示标记,但如果所需的元素位于点击的元素内,则在
tap
处理程序中,您可以找到如下内容:

myDate2 = $(this).find('.dayNumberCellValue').attr('id');
这将查找
元素中的第一个“dayNumberCellValue”元素,点击该元素将是您正在观看
点击
事件的元素



离题:你说你总是得到“27”,这意味着你使用“27”作为元素的
id
。虽然这是(HTML5),但它过去是,现在仍然是。我建议不要使用以数字开头的id。事实上,我想我可能会使用a来存储日期,而不是
id
$('.dayNumberCellValue')
选择器可能会返回一个列表。您可以循环元素并完成您的工作。谢谢,您的回答真的救了我:)我开始使用“data-*”,也谢谢:)@Sergio:很高兴这有帮助!最好,