2

我正在尝试使用纯 javascript 中的 lastindexof 函数从 URL 中删除 fakepath 但是没有显示输出以下是我的 JS 代码:-

function myFunction()
{
var str="C:\fakepath\somefile.txt";
var m=str.lastIndexOf("\");
var n=str.substring(m+1);
document.getElementById("demo").innerHTML=n;
}

以下是我的 HTML 代码:-

<p id="demo">
    Click the button to locate where in the string a specified value occurs.
</p>
<button onclick="myFunction()">Try it</button>

您可以在我的 jsfiddle 找到工作示例 -> http://jsfiddle.net/xKPaK/4/

4

1 回答 1

1
  1. \字符必须转义
    反斜杠用于在字符串中创建特殊字符。例如,'\n'创建一个值为换行符'\\n'的字符串,而创建一个值为\n.
  2. myFunction必须在全局范围内才能在 HTML 属性回调中调用。
    这是 jsfiddle 的一个怪癖。JavaScript 窗格的内容实际上是在一个函数中执行的,它为变量和函数创建了新的范围。只需将函数添加到全局对象即可解决问题。
function myFunction() {
    var str,
        m,
        n;
    str = "C:\\fakepath\\somefile.txt";
    m = str.lastIndexOf("\\");
    n = str.substring(m + 1);
    document.getElementById("demo").innerHTML = n;
}
window.myFunction = myFunction;

小提琴

于 2013-08-03T02:08:35.277 回答