その読み込んだ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を使用しています。
もうちょっとスマートな方法もありそうだけどとりあえず。
$.get('B.html', function(text){ $('#mainContents').html(text.split(/<div id="mainContents">|<!--\/mainContents--><\/div>/)[1]); } );
もうちょっとスマートな方法もありそうだけどとりあえず。
$.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の正規表現(?)を上手くすればいいのだろうと推測してみましたが、正規表現には詳しくなく、更にご教授いただけると幸いです。
よろしくお願いします。
中身以外に後ろ「も」挿入されてしまったんですよね?
htmlとしてではなく、テキストとして区切りを探しているので
<div id="mainContents"> ←この行と <!--/mainContents--></div> ←この行に
htmlではどうでもいいはずの改行や空白が含まれているとうまく動きません。
B.htmlの終わりのコメントと閉じdivの間で改行しているようなら改行せずに書いてください。
ご回答ありがとうございました。
おかげさまで解決いたしました!
ご回答ありがとうございました。
ご提示いただいたコードを実行してみたところ、B.htmlのDIV#mainContentsより後の文字列がA.htmlのDIV#mainContentsに挿入されてしまいました。A.htmlのDIV#mainContents内に挿入したいのは、B.htmlのDIV#mainContentsの中身なのです。
ただ、それ以外は期待した通りの動作のようで希望が持てました。おそらく、text.splitの正規表現(?)を上手くすればいいのだろうと推測してみましたが、正規表現には詳しくなく、更にご教授いただけると幸いです。
よろしくお願いします。