0

昨日の質問の続きです。値を変更するハッシュがあり、後半を分離する必要があります。以下のコードは機能しますが、値がない場合は 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

ご協力いただきありがとうございます!

4

2 に答える 2

0

ページと同じアプローチを使用してください:

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 とはまったく関係のない質問だからです。

于 2012-06-28T00:35:12.563 に答える
0

値があるかどうかを確認するロジックを追加するだけです

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);
于 2012-06-28T00:49:02.863 に答える