Mengapa saya mendapatkan ...
TypeError Tidak Tertangkap: string.split bukan sebuah fungsi
... saat aku lari ...
var string = document.location;
var split = string.split('/');
javascript
jquery
split
Eric
sumber
sumber
document.location
adalah sebuah objek. Coba:var string=document.location.href
Jawaban:
Ubah ini ...
untuk ini...
Ini karena
document.location
adalah objek Lokasi . Default.toString()
mengembalikan lokasi dalam bentuk string, sehingga penggabungan akan memicunya.Anda juga bisa menggunakan
document.URL
untuk mendapatkan string.sumber
toString()
daripada rangkaian hacky?+ ''
adalah trik yang cukup umum untuk pemaksaan tali, tetapi beberapa orang lebih sukatoString()
metode ini. Saya tidak akan menganggapnya lebih hacky daripada menggunakan unary+
untuk konversi angka.parseInt()
danparseFloat()
. Ada jugaNumber()
. Ini+
lebih pendek tentu saja, tetapi kurang dapat dibaca untuk seseorang yang tidak terbiasa dengan kode hacky atau kurang berpengalaman.+ ''
metode tidak mengubah apa pun bagi saya di Chrome Browser tapitoString()
tidak.my_string + "".split()
? Jika demikian, Anda memerlukan tanda kurung karena+
memiliki prioritas lebih rendah daripada.
. Jadi seperti ini:(my_string + "").split()
mungkin
dengan asumsi Anda menginginkan url saat ini
sumber
jalankan ini
Anda ingin
document.location.toString()
ataudocument.location.href
sumber
document.location
bukanlah sebuah string.Anda mungkin ingin menggunakan
document.location.href
ataudocument.location.pathname
sebaliknya.sumber
Dalam klausul jika, gunakan
()
. Sebagai contoh:sumber