jQuery:找不到错误,可能是带有ID的错误?

时间:2018-09-13 00:19:47

标签: javascript jquery

我正在尝试制定一个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的构造。

1 个答案:

答案 0 :(得分:2)

查询未选择任何元素,因为选择器包含:个字符。它对jQuery选择器引擎具有特殊含义。您要么需要转义:字符:

$('#2018-09-15_13\\:30\\:00')

或者更好,使用document.getElementById

$(document.getElementById(booked_dates[i])).toggleClass('...')