\r\n```\r\n\r\nこのようにして\r\n\r\n```\r\n

\r\nテキスト\r\n

\r\n```\r\n\r\nテキストにaタグ内のタグを適用させたい\r\n\r\n### こうなってしまう\r\n```\r\n\r\n

\r\n
\r\nテキスト\r\n\r\n```\r\n\r\n調べても原因がいまいち分からなかったため詳しい方おられましたら教えていただきたいです。\r\n\r\n### 自己解決しました\r\n実装方法を変更して自己解決しました!\r\n皆様お騒がせして大変申し訳ございませんでした。回答してくださりありがとうございます。","answerCount":4,"upvoteCount":0,"datePublished":"2020-10-20T10:41:30.976Z","dateModified":"2020-10-22T05:03:28.696Z","acceptedAnswer":{"@type":"Answer","text":">

\r\nテキスト\r\n

\r\n\r\nこれは明らかにおかしいので存在できないHTMLです","dateModified":"2020-10-20T10:54:07.776Z","datePublished":"2020-10-20T10:54:07.776Z","upvoteCount":3,"url":"https://teratail.com/questions/299247#reply-421933"},"suggestedAnswer":[{"@type":"Answer","text":"```\r\n

\r\nテキスト\r\n

\r\n```\r\n\r\n最終形が不適当です。``~`

`~``~`

`のような、タグが正しく入れ子になっていないHTMLは**成立しません**ので、ブラウザ側で適当に終了タグを補ってしまいます。","dateModified":"2020-10-21T06:58:37.749Z","datePublished":"2020-10-21T06:58:37.749Z","upvoteCount":2,"url":"https://teratail.com/questions/299247#reply-422133","comment":[{"@type":"Comment","text":"一時的であっても、DOM操作で

だけ入った状態にすることはできません。","datePublished":"2020-10-21T07:02:18.470Z","dateModified":"2020-10-21T07:02:18.470Z"}]},{"@type":"Answer","text":"jQuery は [well-formed markup](https://en.wikipedia.org/wiki/Well-formed_element) しか対応していないはずです。\r\n\r\n* 類似したマークアップ事例として IE で採用されていた conditional comment の議論を検索してみました。\r\n古い記事ですが、stack overflow [insert IE conditional statement (comment) with jQuery?](https://stackoverflow.com/questions/8870049/insert-ie-conditional-statement-comment-with-jquery)\r\n当時は ``$.browser`` のプロパティで判別する手法が回答されています。","dateModified":"2020-10-21T06:50:26.032Z","datePublished":"2020-10-21T06:50:26.032Z","upvoteCount":1,"url":"https://teratail.com/questions/299247#reply-422131","comment":[]},{"@type":"Answer","text":"明らかに文法違反なので、\r\nたとえ**コード上で実現できたとしても**、\r\n**ブラウザの解釈上**、\r\n無理やり、後者の形で解釈されるので、\r\n絶対に不可能です。\r\n別の方向性で実装しましょう。","dateModified":"2020-10-21T01:23:03.762Z","datePublished":"2020-10-21T01:23:03.762Z","upvoteCount":2,"url":"https://teratail.com/questions/299247#reply-422053","comment":[]}],"breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"トップ","url":"https://teratail.com"},{"@type":"ListItem","position":2,"name":"HTML5に関する質問","url":"https://teratail.com/tags/HTML5"},{"@type":"ListItem","position":3,"name":"HTML5","url":"https://teratail.com/tags/HTML5"}]}}}
質問するログイン新規登録
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

4回答

1353閲覧

jqueryを使ってHTMLタグの開始タグ、終了タグを個別に挿入したい

hidetakamaru

総合スコア32

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/10/20 10:41

編集2020/10/22 05:03

0

0

やりたいこと

<a id="target_1"></a> テキスト <a id="target_2"></a> <script> $('#piece_1').html('<h1>'); $('#piece_2').html('</h1>'); </script>

このようにして

<a id="target_1"><h1></a> テキスト <a id="target_2"></h1></a>

テキストにaタグ内のタグを適用させたい

こうなってしまう

<a id="target_1"> <h1></h1> </a> テキスト <a id="target_2"></a>

調べても原因がいまいち分からなかったため詳しい方おられましたら教えていただきたいです。

自己解決しました

実装方法を変更して自己解決しました!
皆様お騒がせして大変申し訳ございませんでした。回答してくださりありがとうございます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

<a id="target_1"><h1></a>
テキスト
<a id="target_2"></h1></a>

これは明らかにおかしいので存在できないHTMLです

投稿2020/10/20 10:54

yambejp

総合スコア118164

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hidetakamaru

2020/10/20 11:24 編集

<img id="target_1"> テキスト <img id="target_2"> <script> $('#target_1').after('<h1>'); $('#target_2').after('</h1>'); </script> これなら構文として間違ってなさそうなのですがダメでした
yambejp

2020/10/20 11:43 編集

<img id="target_1"><h1> テキスト <img id="target_2"></h1> としたいのでしょうか? $([$('#target_1').get(0).nextSibling,$('#target_2').get(0)]).wrapAll('<h1>'); 考え方を転換してください。タグを挿入する場合は.html()などを利用するので あまり処理が美しくありません。 DOMとして掴んでwrapAllするのが妥当です
guest

0

<a id="target_1"><h1></a> テキスト <a id="target_2"></h1></a>

最終形が不適当です。<a><h1></a></h1>のような、タグが正しく入れ子になっていないHTMLは成立しませんので、ブラウザ側で適当に終了タグを補ってしまいます。

投稿2020/10/21 06:58

maisumakun

総合スコア146851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/10/21 07:02

一時的であっても、DOM操作で<h1>だけ入った状態にすることはできません。
guest

0

明らかに文法違反なので、
たとえコード上で実現できたとしても
ブラウザの解釈上
無理やり、後者の形で解釈されるので、
絶対に不可能です。
別の方向性で実装しましょう。

投稿2020/10/21 01:23

miyabi_takatsuk

総合スコア9572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

jQuery は well-formed markup しか対応していないはずです。

  • 類似したマークアップ事例として IE で採用されていた conditional comment の議論を検索してみました。
    古い記事ですが、stack overflow insert IE conditional statement (comment) with jQuery?
    当時は $.browser のプロパティで判別する手法が回答されています。

投稿2020/10/21 06:50

AkitoshiManabe

総合スコア5434

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問