我正在尝试制定一个HTML表计划,其中每个单元格都有一个基于DateTime格式的ID。然后,我从Django模型发送带有预订时隙的JSON,并尝试通过Jquery更改具有相应ID的单元格的类。
delivery_planning.js:
dates = booked_json.replace(/"/g, '"');
booked_dates = JSON.parse(dates);
count = booked_dates.length-1;
for (i=0; i<=count; i++) {
var date_id = "#" + booked_dates[i];
$(date_id).toggleClass("available unavailable");
console.log(date_id);
};
console.log()向我显示ID格式正确:
#2018-09-15_13:30:00
当我检查firefox中的单元格时,我具有相同的ID格式:
td#2018-09-15_13:30:00.available
谁能看到为什么班级没有变化?我尝试了几种格式的变化,但没有结果。如果需要,我可以添加views.py和template.html来显示ID的构造。
答案 0 :(得分:2)
查询未选择任何元素,因为选择器包含:
个字符。它对jQuery选择器引擎具有特殊含义。您要么需要转义:
字符:
$('#2018-09-15_13\\:30\\:00')
或者更好,使用document.getElementById
:
$(document.getElementById(booked_dates[i])).toggleClass('...')