Javascript - 斜杠被空格替换

标签 javascript html

我正在尝试通过 javascript 在我的 html 代码中创建一个 li 元素。这个 li 会有一个 onclick 函数。问题是尝试将文件路径作为参数传递给 loadDoc2() 函数时,会出现一些问题。我包括代码。

    function myFunction(){ 
          var x = "NEW";
          var file = "'/static/BRANDS/PERLA/NEW COL/XML Files/NEW COL.xml'";
          lis = "<li><a onclick='loadXMLDoc2(" + file + ")'>" + x + "</a></li>";
          document.getElementById("demo").innerHTML = lis;
        }

这给了我 <a onclick="loadXMLDoc2(" static brands perla new col xml files new col.xml')'>NEW</a> .斜杠由空格代替,字母小写。我需要的结果是 <a onclick="loadXMLDoc2('/static/BRANDS/PERLA/NEW COL/XML Files/NEW COL.xml')">NEW</a> 我已经尝试了很多东西,例如 .replace("\", "//") 但它没有用。

最佳答案

发生这种情况是因为您以 ' 开始您的 onclick,而文件的开头有一个 ',因此它关闭了 onclick 属性。所以看起来像

<li><a onclick='loadXMLDoc2('/static/BRANDS/PERLA/NEW COL/XML Files/NEW COL.xml')'>NEW</a></li>

我建议你使用javascript来绑定(bind)事件,它会更容易。

function myFunction(){ 
      var x = "NEW";
      var file = "/static/BRANDS/PERLA/NEW COL/XML Files/NEW COL.xml";
      var li = document.createElement('li');
      var a = document.createElement('a');
      a.innerHTML = x;
      a.onclick = function(){
          loadXMLDoc2(file);
      }
      li.appendChild(a);
      document.getElementById("demo").appendChild(li);
}

关于Javascript - 斜杠被空格替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46157720/

相关文章:

javascript - 在 JavaScript 中传递数组值

javascript - Canvas drawImage 将我的正方形图像缩放为矩形

javascript - 如何获取createAt对象?

c# - 查找元素返回空字符串..using XPath contains,Text()

Javascript 对象构造函数数组未按预期工作

javascript - 无法将正确的 ID 传递给 .replaceWith()

javascript - 使用被调用者参数列表的尾部调用函数

html - 段落的 CSS 样式在 head 中不生效,但在 body 中声明时生效

javascript - 如何固定一个元素到div的右边?

html - 如何在同一行上获得此 'a' 链接和 'input' 按钮? CSS