Avaris
@Avaris (@ Avarice)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

jQuery DOMについて

解決したいこと

jQuery にて下記の記述内の調べ方を知りたい。
DOMの記述の後に【u306e】などの値が入っているのですが
実際デバッグ画面でボタンをクリックすると文字が出てきます。
(講師の方からの課題で作成済みの下記記述をそのままコピペしてます。)

説明せよ、まずは自分で調べてください。
との事なので聞けず・・・・

【u306e】他、はなぜ文字を出力しているのでしょうか?

Google YouTube 等
探そうにも困っております。ご教授ください。

発生している問題

$(function(){
	$("#q5").on("click", function () {
	$(this)
		.prepend("DOM\u306e\u4e2d\u306e\u524d")
		.append("DOM\u306e\u4e2d\u306e\u5f8c")
		.before("DOM\u306e\u524d")
		.after("DOM\u306e\u5f8c")
	 });

});
0

3Answer

おそらく伝送路あるいはアプリケーションの都合で日本語がUnicodeエンコードされているものと思われます.
デコードすると以下のようになります.

$(function(){
	$("#q5").on("click", function () {
	$(this)
		.prepend("DOMの中の前")
		.append("DOMの中の後")
		.before("DOMの前")
		.after("DOMの後")
	 });

});

状況からして意図的にこのような記述をする可能性は低いと思われます.
日本語の文字列がうまくエディタで読めない場合,別のエディタを試してください.

参考までに,JavaScriptにおけるエスケープシーケンスの用法は以下を参照してください.

1Like

Comments

  1. @Avaris

    Questioner

    お教えいただきありがとうございます。
    参考資料まで教えていただけて助かっております。

    早速Unicode について調べてみます。

それは Unicode Escape Sequence といいます。\uxxxx という形で表される Unicode 文字で、xxxx はその文字の Unicode コードになります。

セキュリティ対策で、フレームワークによっては自動的にエスケープされることもあります。例えば ASP.NET Core MVC の JSON シリアライザがデフォルトでそうなってます。

ASP.NET Core MVC の Unicode Escape Sequence (UES)
http://surferonwww.info/BlogEngine/post/2020/03/11/aspnet-core-mvc-controller-json-method-replaces-non-ascii-characters-with-5cuxxxx.aspx

1Like

Comments

  1. @Avaris

    Questioner

    ご共有いただいたURLにて調べてみます。
    ありがとうございます。

  2. 回答を理解できてますかね? 提示した URL を見なくても上に書いたことだけで分かると思うのですが・・・ わからなかったら、何が分からないのか聞いてください。

    Windows OS の PC なら IME パッドが付属しているはずなので、それを開いて見てください。Unicode とそれに該当する文字が分かります。例えば、あなたの質問にある \u306e なら

    IME.jpg

  3. @Avaris

    Questioner

    @SurferOnWww さん
    ご返信頂きありがとうございます。

    言葉足らずですみません。
    Unicode Escape Sequence というものを良く理解してないため 共有頂いたものをまずは読んでからと考えておりました。

    IMEパッドでも見れる事までご教授頂きありがとうございます。

    学習に役立てさせて頂きます。

目的の情報を検索しようにもどのような単語で検索すべきかわからないということと理解しました。

このようなときは今話題のChatGPTが活用できると思います。

試しにこのページの質問部分をそのまま貼り付けてみましたが、「\u306e」というのは、Unicodeのエスケープシーケンスです と回答してもらえました。

ただし、ChatGPTは平然と嘘をつくことがあるので、回答でもらった「Unicodeのエスケープシーケンス」をGoogleなどで調べてみて、得た情報が誤っていないことを確認する必要があります。

他にも、JavaScriptの構文等で、例えば { ...foo } のような記法がわからないなど、Googleで検索しづらい情報はChatGPTが活かせる可能性があると思います。

0Like

Comments

  1. @Avaris

    Questioner

    Chat GPT 調べることにも使えるのですね
    いつもGoogle で調べるとかゆいところに手が届かない内容ばかりでした。

    さっそく調べるのに使ってみます。

Your answer might help someone💌