• ベストアンサー

IE8~7でappend、wrapなどを使う方法

表題のままなのですが、IE8~7でappend、wrapなどが動きません。 調べてみるとエラーがあるようで... ハマってしまいました。 document.createElementなど試したのですがダメでした。 解決方法があればよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

ブラウザのネイティブのappendなどが使えないってことでしょうか? wrapはないはずなので、何かのライブラリかと想像しましたが、使えない部分だけ再定義するか、代わりの関数を作成するとかで、とりあえずの対処ができるのでは? (多分、ネイティブのappenChildなどは動作する環境と思いますので。  根本的な解決にはなっていないといえば、それまでですが…) appendChildが動作しない時は、insertBeforeで代用するとか、似た様な処理で使えるメソッドがあれば実現は可能と思います。 (いらぬ手間がかかるのは事実ですけれど。IEはいずれにしろ手間がかかる??) 解決法とは異なりますが、jQueryのappendを例にして、ネイティブなメソッドとjQueryのメソッドの速度を比較しているサイトがありましたのでご参考までに。 http://syake-web.com/blog/2011/02/03/append-and-appendchild/

関連するQ&A

  • WebサービスからのxmlがIEで表示されない

    ウェッブサービスのxmlデータをjQuery Ajaxを使ってページ上に表示したいのですが、下記のコードでは、IEのみ表示できず悩んでいます。 jQuery(document).ready(function($){         getAjaxData(); }); function getAjaxData(){         $('#text-box').append('getAjaxData'+'<br>');         jQuery.ajax({               url: ウェッブサービスから提供されたxmlのURL,               type:'GET',               error:errorMsg,               success:outputSuccess         }); } function outputSuccess(data){         $('#text-box').append('success!'+'<br>');         var txt = jQuery(data).find("root").text();         $('#text-box').append(txt); } function errorMsg(){         $('#text-box').append('error!'+'<br>'); } Firefox,Chrome,Safari,Operaでは、上述コードのように、テキストボックスに最初getAjaxDataが表示され、次にsuccess!、さらにxmlの内容が表示されます。しかしIEのみ(IE9)getAjaxDataの次にerror!のテキストが表示され、xmlデータを読み込むことができません。 ネットでいろいろと調べましたが解決方法がみつかりません。 当方50歳を越えて独学でjQueryなど勉強していますが、まだまだ浅学のためどうしたらいいのか悩んでおります。 ぜひ解決法をご存知の方、ご教授いただければ幸いに存じます。 どこかいい解決法が書いてあるページのご紹介でもかまいません。 よろしくお願い申し上げます。

  • appendChildがieだとできない??

    こんにちは。DOMについては全く無知です。 このようなのを作ったところ、google chromeでは動いたものの、ieでは動きませんでした。 var iBody = $("hoge").contentWindow.document.getElementsByTagName("body")[0]; var newText = document.createElement("div"); newText.innerHTML = "aaa"; iBody.appendChild(newText); ※$("hoge")は、iframeタグを指しています いろいろ試したところ、ieだとフレーム内にアクセスすることができないみたいです。 どうすればいいのか、ご存知でしたらご教示願います。

  • createElementした直後の要素の状態

    javaでXMLドキュメントにルート要素を作成するとき、以下のような感じで書くと思いますが Document document = new XMLDocument(); Element rootElement = document.createElement("hoge"); document.appendChild(rootElement); このとき、createElementの直後(appendChildする前)のrootElementはどういう状態にあるのでしょうか? documentのchildとしてappendされていないので、「浮いた」状態(OwnerDocumentは決まっているが、DOMツリーの根でも枝でも葉でもない?)なのでしょうか。

    • ベストアンサー
    • Java
  • IE8を入れたら画面がぼやける

    表題のとおりです。 何度も試しましたが、IE8を入れることによって明らかに画面がぼやけてしまします。 画像やバナーが滲んだようになります。 解決方法ありますでしょうか?

  • IEの履歴のバックアップ方法

    以前に、IEの履歴のバックアップはどうやったらいいかという質問をしたのですが、解決できる回答が得られなかったので再度質問させて頂きます。 何とか解決しようと思っていろいろいじっていた所、 C:\Documents and Settings\ユーザー名\Local Settingsの中に「History」というフォルダを見つけました。 このフォルダをそのままバックアップしといて、再び利用したい時にC:\Documents and Settings\ユーザー名\Local Settingsの中に戻せば以前の履歴が再現できるんでしょうか? ただ、私は普段履歴の表示をサイト順にしているのですが、この「History」フォルダは「3週間前」だったり「今日」だったり日付順で保存されています。この辺の違いは問題ないんですか?(あくまで上に書いた方法でバックアップできればの話ですが…) それぐらい、一旦履歴をクリアして自分で試してみろと思われるかもしれませんが、もし戻らなかったら怖いので試せません。上に書いた方法じゃダメなんですか?それとも他に方法があるんですか? 解決法を教えて下さい。よろしくお願いします。

  • IEのお気に入りをネスケのbookmarkに移す方法

    IEを二つ以上立ち上げると固まります。このサイトで修復方法を教えてもらい試してみましたがだめでした http://higaitaisaku.web.infoseek.co.jp/iesyuufuku.html やむなく初期化しましたが同様な症状です。そこでネスケに変更したいのですが、表題のIEのお気に入りをネスケのbookmarkに移す方法できるのであれば教えてください。 XP IE6 ネスケは未だインストールしてません。

  • borderの指定方法

    var tbl = document.createElement("table"); var tbd = document.createElement("tbody"); var tr = document.createElement("tr"); var td = document.createElement("td"); td.appendChild(document.createTextNode("テストテーブル")); tr.appendChild(td); tbd.appendChild(tr); tbl.appendChild(tbd); DOMで書いたテーブルのTD要素のボーダーの指定方法で、下線だけ表示しないで枠をつけたいのですが、どのようにすればよいのでしょうか? どなたか教えてください。 よろしくお願いします。

  • select option value が IE だけで動かない

    select の option 項目を追加する javascript を組んでいるのですが IE だけ項目追加ができません。Windows の Firefox2、Safari は期待 通りに項目が追加できました。 option.value を指定しないと IE でも追加できます。IE 専用に特別な 別プログラムが必要なのでしょうか。ご存知の方よろしくお願いします。 var selectBox = document.getElementById("select1"); var option = document.createElement('option'); option.setAttribute('value','my_value'); option.appendChild(document.createTextNode('my_text')); selectBox.appendChild(option); 3行目をコメントアウトすれば IE でも select にデータが追加され ますが、肝心の value がないのでプログラム的にダメなんです。

  • IE-9からIE-8に戻す方法を教えてください。

    IE-9が出た頃IE-8からIE-9にしましたが、使い勝手が悪いので8に戻し長く使っていましたが、その時の方法を忘れてしまいました。 他の所に質問していますが、思う様な状態に成らなくなったのは→リカバリ後IE-9に変更してからのようですので・・・・ 一度8に戻して見ようとうとして、Microsoftの公式サイトでダウンロードしようとすると(最新が入っています)のような文言が出ます。 其れでもダウンロードを押しますと、暫くして「9が生きているので駄目」のような文言で進みません。 プログラムの削除・変更から削除しようとしましたが、FとMの間にimagemixerは有りますが→Internet explorerが有りません。 こんな状態ですが→IE-8に、何とか戻す方法をご存知の方が有りましたら、 お教え下さいます様宜しくお願い申し上げます。

  • IE6 JavaScript download

    使用しているIE6です。 ある画面には検索ボタンがありますが、検索を行ってから、取得したデータをcsvファイルとしてダウンロードします。ダウンロードする前に、ファイル保存をポップアップが必要です。 実現方法については まずlinkを動きで創建します。 var link = document.createElement("a"); linkの属性を設定します。 link.href = "data:text/csv;charset=utf-8," + "\ufeff" + encodeURIComponent(data); link.download = "aaa.txt"; IE6のほうは、fireEventを使います。 var evt = document.createEventObject(); link.fireEvent('onclick',evt) 質問:しかし、fireEventを呼び出すとき、「未定義エラー」となります。 ここで、困ってますので、教えてくれば、助かります。