プロが教える店舗&オフィスのセキュリティ対策術

google mapをサイト内にとりこめると知って、
挑戦しています。
一応、googleのサイトにあったjavascriptを埋め込んで、
表示できるようになりました。
その中に、

document.createTextNode("~~~~~~~"));

というのがありまして、
~~~のところに文字を入れると、
googleマップに吹き出しが出てメッセージが出るようになります。
~~~の部分が長文になると、吹き出しが横に長くなってしまいます。
改行したいのですが、どうしたらよいのでしょうか?

A 回答 (2件)

そのコードを見てみないことには正確に言えませんが、とりあえず。



createTextNodeメソッドはテキストノードを作るメソッドなので、そこで改行を宣言することは出来ません。
改行を宣言するには createElement() でbr要素ノードを作ってください。

NG:
document.body.appendChild(document.createTextNode("test\ntest"));

OK:
var node = [document.createTextNode('test'),document.createElement('br'),document.createTextNode('test')];
for(var i=0,max=node.length;i<max;i++){
document.body.appendChild(node[i]);
}

「JavaScript DOM」で検索すると関連情報が見つかります。
HTMLの予備知識があればDOMは比較的理解しやすいと思います。

document.createElement - 指定タグでのエレメント作成 - JavaScriptリファレンス
http://javascriptist.net/ref/document.createElem …
JavaScript : createTextNode
http://www.openspc2.org/JavaScript/reference4/DO …
element.appendChild - 指定要素へ子要素追加 - JavaScriptリファレンス
http://javascriptist.net/ref/element.appendchild …
    • good
    • 0
この回答へのお礼

すみません、回答遅くなりました。
その後、
DOMについて理解を進めまていろいろな事ができるようになりました。
DOMの勉強に時間がかかったため、当質問内容の部分について作成を見送りました。どうもありがとうございました。

お礼日時:2010/01/15 13:38

試したわけではないのですが、改行したい部分に"\n"(半角)または"<BR>"を入れたらどうでしょうか?



例:
document.createTextNode("一行目\n二行目");

ソースコードを見たわけではないので断言はできませんが、どちらかで可能なことかと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!