Javascript - 斜杠替换为空格

时间:2017-09-11 14:09:20

标签: 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(&#34; \&#34;,&#34; //&#34;)但它没有用。

3 个答案:

答案 0 :(得分:3)

发生这种情况是因为您在开始时使用'和文件有'来启动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);
}

答案 1 :(得分:0)

&#13;
&#13;
<div id="container"></div>

<script>
 var container = document.getElementById('container');
 var li = document.createElement('li');
 li.innerText = "Im a list item";
 li.onclick = function(){
  console.log('I was clicked');
 }
 
 container.appendChild(li);
</script>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您似乎有相互矛盾的引号。

k='loadXMLDoc2('/

请注意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.body.innerHTML = lis; 将会打开然后关闭引号。通过将单引号更改为双引号来修复:

    let resultHtml = [];

    resultHtml.push(<p key="resultScore"> Score: {currentResult} </p>);

    if (Number(currentResult) < 0.5) {

        resultHtml.push(<p key="resultScoreDesc"> Assenza di Fibrosi </p>);
    }

    else if (Number(currentResult) > 0.5 && Number(currentResult) < 1.2) {

        resultHtml.push(<p key="resultScoreDesc">Fibrosi da F1 a F4, necessita di ulteriori indagini per chiarire il grado di fibrosi</p>);
    }

    else if (Number(currentResult) > 1.5) {

        resultHtml.push(<p key="resultScoreDesc">Cirrosi </p>);
    }