Text†enteredbyuser">
84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
在textarea中,我想確定最後一個「†」字元的位置。
textarea
var textField = document.getElementById("main_field"); console.log(textField.value.indexOf("†"));
Text † entered by user † †
雖然這裡工作得很好,但我在瀏覽器中得到了奇怪的結果
但是,它找不到該字元並返回-1。
我試著去理解角色的內在表現。它在控制台中輸出為“–”,我覺得很奇怪。
首先,讓我們看看它是如何運作的。
console.log(document.getElementById("textField1").value.lastIndexOf("†")); console.log(document.getElementById("textField2").value.lastIndexOf("†"));
a†b†c†d
現在我們已經看到了這一點,我們需要找出您的程式碼出了什麼問題。首先,您需要檢查textField.value是否包含您正在搜尋的字元。接下來,請查看程式碼中的此呼叫:
textField.value
.substring(0, startPos)
這其實是取得從頭開始直到startPos的子字串。從startPos的名稱來看,似乎不是從startPos之前取得字串,而是從startPos取得它。
startPos
首先,讓我們看看它是如何運作的。
現在我們已經看到了這一點,我們需要找出您的程式碼出了什麼問題。首先,您需要檢查
textField.value
是否包含您正在搜尋的字元。接下來,請查看程式碼中的此呼叫:這其實是取得從頭開始直到
startPos
的子字串。從startPos
的名稱來看,似乎不是從startPos
之前取得字串,而是從startPos
取得它。