簡體   English   中英

JavaScript隔離哈希值

[英]JavaScript isolate hash value

從昨天開始對問題的跟進。 我有一個更改值的哈希,需要隔離下半部分。 下面的代碼可以工作,但是如果沒有值,則需要返回false,因為稍后我將使用if (val.length){} ,並且目前始終為true。 因此,以演示:

var hash = window.location.hash,
    page = hash.split('=')[0],
    val  = hash.substr(hash.indexOf('=') + 1);

    console.log(hash,page,val);

localhost/#work
console returns: #work, #work, #work

localhost/#work=misery
console returns: #work=misery, #work, misery

我希望它返回:

localhost/#work
console returns: #work, #work, (no value for val)

localhost/#work=misery
console returns: #work=misery, #work, misery

謝謝你的幫助!

只需使用與頁面相同的方法即可:

var hash = window.location.hash,
    values = hash.split("="),
    page = values[0],
    val  = values[1];

console.log(hash,page,val);

localhost/#work
console returns: #work, #work, undefined

localhost/#work=misery
console returns: #work, #work, misery

PS我將建議您添加JavaScript標記並刪除jQuery標記,因為這是與jQuery完全無關的問題。

只需添加一些邏輯以檢查是否有值

var hash = window.location.hash,
    values = hash.split("="),
    page = values[0],
    val  = values[1]?values[1]:'';//you can use if (val.length){} to check if ther is a value

console.log(hash,page,val);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM