人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

A.htmlの中で、B.htmlを、jQueryを使って読み込みました($.getを使用した)。
その読み込んだB.htmlには、<div id="mainContents">で始まり、<!--/mainContents--></div> で終わる文字列が含まれています。
その<div id="mainContents">と<!--/mainContents--></div>に括られた範囲の文字列をJavascriptで取り出して、A.htmlの<div id="mainContents"></div>の中に挿入たいのですが、どのようにすればよいでしょうか。

Javascriptのコードを提示していただけると非常に助かります。

なお、当初はjQueryの「$().load」を使用してB.htmlを読み込んでいたのですが、別のJavascriptライブラリと衝突して上手く動作しないことが判明し、やむなく$.getを使用しています。

●質問者: ishimarum
●カテゴリ:インターネット ウェブ制作
✍キーワード:HTML JavaScript jQuery コード ライブラリ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Mars
●100ポイント ベストアンサー

もうちょっとスマートな方法もありそうだけどとりあえず。

$.get('B.html',
 function(text){
 $('#mainContents').html(text.split(/<div id="mainContents">|<!--\/mainContents--><\/div>/)[1]);
 }
);
◎質問者からの返答

ご回答ありがとうございました。

ご提示いただいたコードを実行してみたところ、B.htmlのDIV#mainContentsより後の文字列がA.htmlのDIV#mainContentsに挿入されてしまいました。A.htmlのDIV#mainContents内に挿入したいのは、B.htmlのDIV#mainContentsの中身なのです。

ただ、それ以外は期待した通りの動作のようで希望が持てました。おそらく、text.splitの正規表現(?)を上手くすればいいのだろうと推測してみましたが、正規表現には詳しくなく、更にご教授いただけると幸いです。

よろしくお願いします。


2 ● Mars
●100ポイント

中身以外に後ろ「も」挿入されてしまったんですよね?

htmlとしてではなく、テキストとして区切りを探しているので

<div id="mainContents"> ←この行と
<!--/mainContents--></div> ←この行に

htmlではどうでもいいはずの改行や空白が含まれているとうまく動きません。

B.htmlの終わりのコメントと閉じdivの間で改行しているようなら改行せずに書いてください。

◎質問者からの返答

ご回答ありがとうございました。

おかげさまで解決いたしました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ