Jquery日历- .attr('id')得到错误的值
Jquery Calendar - .attr('id') get wrong value
我想在日程表标题中设置日期,将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);}
});
创建日历->
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);}
这一行:
myDate2 = $('.dayNumberCellValue').attr('id');
将始终获得第一个匹配元素(文档中第一个具有"dayNumberCellValue"类的元素,从顶部开始)的id
值。
您还没有显示您的标记,但是如果您想要的元素在选定的元素中,那么在您的tap
处理程序中,您可以像这样找到它:
myDate2 = $(this).find('.dayNumberCellValue').attr('id');
在 this
元素中查找第一个"dayNumberCellValue"元素,该元素将是您正在观看tap
事件的元素。
离题:你说你总是得到"27",这表明你使用"27"作为元素的id
。虽然这是最近被允许的(HTML5),但它在HTML 4和更早的版本中是无效的,在CSS中仍然无效。我建议不要使用以数字开头的ID。事实上,我认为我可能会使用data-*
属性来存储日期,而不是id
。
相关文章:
- 语法错误:缺少:在属性 ID 之后
- 未捕获错误:元素缓存中id为x的DOM元素与DOM中的元素不同
- 使用Javascript向ID数组发送通知时出现Facebook访问令牌错误
- 更改错误文本“用户 ID 或密码不正确”
- 按类划分的元素数组 - 类型错误:$.id 不是一个函数
- HERE 映射 javascript API - 抛出“指针必须有 ID”错误
- 解析 /page.xhtml 时出错:跟踪错误[行: 42] 与元素类型“id”关联的属性“{1}”应使用左引号
- DOJO 错误 ID 已注册
- Coturn/turnserver:错误437:分配不匹配:事务ID(WebRTC)错误
- 我得到未捕获的类型错误:无法读取属性'选项'即使定义了元素id,也为null
- Meteor Update集合-未捕获错误:不允许.不受信任的代码只能通过ID更新文档.[403]
- 如何修复重复的Facebook像素ID错误
- Jquery语法错误,id选择器上的表达式无法识别
- 选择id中带有双点的元素,错误:“#octo:cat”不是有效的选择器
- Node.js 在使用 id 参数时在 dpd.get 上部署 404 错误,在 dpd.put 上部署 400 错误
- JavaScript:滑块每 2 步跳转到错误的 ID
- 未捕获的语法错误:意外的令牌 .AKA 如何在 jQuery 中检查 ID
- 未捕获的引用错误: 未定义导出 ID
- 在为 jquery 自动完成设置源代码时获取“语法错误:缺少:在属性 ID 之后”
- 当我尝试附加数据 ID 时;我收到一个错误