我没有成功改变id的类。代码中的其他功能正在运行。我想在点击div
时添加额外的css类。
<div id='31589' onclick='AddSeat(this.id)'>html</div>
<div id='31590' onclick='AddSeat(this.id)'>html</div>
<div id='31591' onclick='AddSeat(this.id)'>html</div>
function AddSeat(str) {
if (str == "") {
document.getElementById("Winkelmand").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("Winkelmand").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET","winkelmand.php?q=" + str, true);
xmlhttp.send();
$(document.getElementById(str).className) += 'myseat';
}
}
答案 0 :(得分:0)
document.getElementById不是jQuery函数,但是你使用的是$ -sign,这是用于jQuery的。
所以要么删除$ -sign符号,要么使用Arun P Johny的第二个建议:
$('#' + str).addClass('myseat')
答案 1 :(得分:0)
也许这个JSFiddle会有所帮助:https://jsfiddle.net/ojgqkg8q/
由于你已经拥有JQuery,我冒昧地将你以前的AJAX代码转换为更简洁,更简洁的JQuery AJAX。它还使用Arun P Johny建议的addClass()方法将类添加到DOM元素中。显然,在这个JSFiddle中,AJAX请求实际上不起作用,因为winkelmand.php不可用,但是如果你将代码复制到你自己的站点,它应该可以工作。
简短回答是:
$('#'+str).addClass('myseat');
按照Arun P Johny的建议。