Javascript 在 IE 11 中 运行 不同,具体取决于我的文件所在的位置

Javascript in IE 11 is running differently depending on where my file is located

我有这个 JavaScript,有一行有问题(已注释):

function createCheckboxes(allClasses) {
  var form = document.getElementById('showForm');
  var p = document.createElement('P');
  p.setAttribute('className','oneLine'); //Problematic line
  var text = document.createTextNode("All");
  var chkbox = document.createElement('INPUT');
  chkbox.type = 'checkbox';
  chkbox.id = 'ALL_BOX';
  p.appendChild(chkbox);
  p.appendChild(text);
  form.appendChild(p);

  for (var key in allClasses) {
    p = document.createElement('P');
    p.setAttribute('className','oneLine'); //problematic line
    text = document.createTextNode(key.replace(/_/g," "));
    chkbox = document.createElement('INPUT');
    chkbox.type = 'checkbox';
    p.appendChild(chkbox);
    p.appendChild(text);
    form.appendChild(p);
    chkbox.className = 'section';
    chkbox.id = key;
    if (allClasses[key]) {
      chkbox.checked = 'true';
    }
}

当我在共享(非本地)驱动器上执行此操作时,class 已成功设置。但是当我 运行 它离开我的本地驱动器时,它没有设置 class (测试做 $('.oneLine').length()

我已经使用

的 "magic" 解决了这个问题
  $(p).addClass('oneLine');

而不是在 JavaScript 中设置 class。但我很困惑 javascript 到底是如何根据文件的来源以不同的方式处理相同的代码。理解这一点对我正在做的事情真的很有帮助

我要找的答案可以在这里找到:

事实证明,我需要标签才能使 JavaScript 和我的 CSS 一致地工作