JAvascriptの「バグ」
1094 ワード
javascriptにhtmlのコードを書いてappendやdocumentを書く必要がある場合があります.writeはページに出ていますが、私は問題に遭遇して数時間遅れて、ここで共有して、みんなに役に立つことを望んでいます.
元のコード
結果として、このコードは実行できません.クリックするとエラーメッセージが表示されます.ツールを展開してこのコードを表示すると、実際にwriteから出てきたコードに問題があることがわかります.
後に改称する
writeから出てきたhtmlは次のようになりました.
違いは見えますか?
重要な問題はhrefの関数のパラメータの前にスペースがあるかどうかです.最初のセグメントはカンマの後に1つずつ空になっていますが、実際に解析するときに問題が発生し、ブラウザは自動的に終了と開始を表す引用符を追加し、あるべきでない等号を追加し、これらのスペースを削除すると問題が解決します.
ps、私が使っているブラウザはchrome 11で、jqueryのappendメソッドを使って以上のhtmlコードをページに表示します
元のコード
showStr += "<a href=javascript:showWeiboThumbnailPic(1, 'sa', 're'); >";
結果として、このコードは実行できません.クリックするとエラーメッセージが表示されます.ツールを展開してこのコードを表示すると、実際にwriteから出てきたコードに問題があることがわかります.
<a href="javascript:showWeiboThumbnailPic(1," 'sa',="" 're');="">
後に改称する
showStr += "<a href=javascript:showWeiboThumbnailPic(1,'sa','re'); >";
writeから出てきたhtmlは次のようになりました.
<a href="javascript:showWeiboThumbnailPic(1,'sa','re');">
違いは見えますか?
重要な問題はhrefの関数のパラメータの前にスペースがあるかどうかです.最初のセグメントはカンマの後に1つずつ空になっていますが、実際に解析するときに問題が発生し、ブラウザは自動的に終了と開始を表す引用符を追加し、あるべきでない等号を追加し、これらのスペースを削除すると問題が解決します.
ps、私が使っているブラウザはchrome 11で、jqueryのappendメソッドを使って以上のhtmlコードをページに表示します