2009-05-12 5 views

答えて

17

あなたのアプローチは正しいですが、一度交換すると新しい値を設定するのを忘れてしまいます。あなたは属性値(attr(key, value))を設定する必要が

$(".row a").each(function() { 
    this.href = this.href.replace(/\s/g,"%20"); 
}); 
+1

私はこれを理解しようと私の頭を打っていたのでちょうどメモ。 Firefox用のHTML Validatorアドオンを使用していて、URI参照の空白をまだ報告していました。これは、バリデータが* JavaScriptなしでページを個別に解析するためです。 – Travis

3

、あなたのコードにだけその値読んでいる:これを試してみてくださいあなたはネイティブのJavaScript encodeURI機能を使用したほうが良いと思います

$(".row a").each(function(){ 
    $(this).attr('href', $(this).attr("href").replace(/\s/g,"%20")); 
}); 
20

を。

$(".row a").each(function(){ 
    $(this).attr('href', encodeURI($(this).attr("href"))); 
}); 
+0

素晴らしいもの。前に 'encodeURI 'に出くわしたことはありませんでした。私は時間のヒープを保存しました。 –

0

あなたはそうのような""を置き換えることができます。

$(document).ready(function() { 
    $("#content a").each(function(){ 
     $(this).attr('href', $(this).attr("href").replace("%20","")); 
    }); 
}); 
1

@Naresh はいそのための方法があり、以下の例を参照してください。

は、それをコードした後、URIをデコード:


<script type="text/javascript"> 

var uri="my test.asp?name=ståle&car=saab"; 
document.write(encodeURI(uri)+ "<br />"); 
document.write(decodeURI(uri)); 

</script> 

は、上記のコードの出力は次のようになります。

詳細は
my%20test.asp?name=st%C3%A5le&car=saab 
my test.asp?name=ståle&car=saab 

が、私はこれがスーパー遅れているけど、私はunescape()方法ことがわかっhere

0

をご覧ください。あまりにも動作する傾向があります...

関連する問題