Javascript 向跨度元素添加类不起作用
我在ajax成功方法中接收到一个具有大量数据的大型JSON对象 但是,当我在JSON列表上迭代并希望向每个元素添加单个类时,事情就不起作用了 我在这里粘贴的代码片段在ajax成功方法中Javascript 向跨度元素添加类不起作用,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我在ajax成功方法中接收到一个具有大量数据的大型JSON对象 但是,当我在JSON列表上迭代并希望向每个元素添加单个类时,事情就不起作用了 我在这里粘贴的代码片段在ajax成功方法中 $.each(data, function(index,jsonObject){ console.log(jsonObject.spanId+":"+jsonObject.status) if(jsonObject.status != null && jsonObject.stat
$.each(data, function(index,jsonObject){
console.log(jsonObject.spanId+":"+jsonObject.status)
if(jsonObject.status != null && jsonObject.status != undefined){
if(jsonObject.status == "Available"){
$('#'+jsonObject.spanId).addClass("availableTime");
}else{
$('#'+jsonObject.spanId).addClass("vacantTime");
}
}
});
我已经尝试了很多,但是没有成功,请帮助我
我正在添加json对象的块
[
{
"spanId": null,
"status": null
},
{
"spanId": null,
"status": null
},
{
"spanId": "25_31_15:00",
"status": "Available"
},
{
"spanId": "25_31_15:30",
"status": "Available"
},
{
"spanId": "25_31_16:00",
"status": "Available"
},
{
"spanId": "25_31_16:30",
"status": "Available"
},
{
"spanId": "25_31_17:00",
"status": "Available"
}
]
您可以使用span ID,这可能是不起作用的
选择器的Plus:
是伪类的保留字
hi,只是缺少了一些东西,而且数据(从外观上看)放错了位置 尝试运行以下命令:
$.each(data, function(index){
console.log(data[index].spanId+":"+data[index].status)
});
请注意,您需要告诉循环要引用哪个数组项:
data[index]
“每个”都在阵列上循环:
$.each(data, function(index){ ...
使用数据引用编辑:
var data = [
{
"spanId": null,
"status": null
},
{
"spanId": null,
"status": null
},
{
"spanId": "25_31_15:00",
"status": "Available"
},
{
"spanId": "25_31_15:30",
"status": "Available"
},
{
"spanId": "25_31_16:00",
"status": "Available"
},
{
"spanId": "25_31_16:30",
"status": "Available"
},
{
"spanId": "25_31_17:00",
"status": "Available"
}
]
与您可能期望的相反,在ids中使用冒号是可以的,尽管只有HTML5开始接受以数字开头的ids。为了更好的互操作性,建议在ids开头加上字母,而不要首先使用冒号 也就是说,如果必须在标识符中使用冒号,则在将冒号用作选择器的一部分时必须将其转义:
$('25_31_17\\:00') // this works fine
或者,如果要根据元素的标识符查找元素,您可能还需要考虑:
$(document.getElementById(jsonObject.spanId)) // this will work too
提供你的一大块数据,否则没有人能帮助你。jquery addClass方法确实有效。可能是因为
:
它可能不起作用。尽管:
在这里无效,但您是否尝试过$(document.getElementById(jsonObject.spanId))
?我的答案会解决您的问题。是的,很遗憾,它不起作用,因为:在选择器中,现在我删除了它和它的工作感谢!!!所有的规则都在我的答案中链接的stackoverflow帖子中。是的,尽可能的引用“完美”,但无论如何都不建议。。