更新特定的div id类

时间:2016-02-17 11:10:17

标签: javascript jquery css

我没有成功改变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';
  }
}

2 个答案:

答案 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的建议。