我试图通过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绑定事件,这样会更容易。

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 - Javascript-用空格代替斜杠,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46157720/

10-11 05:16
查看更多