2012-03-21 2 views
2

page_loadに.NETリピータによって生成された一連のテーブルを使用しているページがあります。これらのテーブルは、fileExistsまたはfileDoesNotExistの2つのクラスのいずれかを持つことができます。 document.readyで、私は以下の持っている:IE7とjQuery .html/.empty/.cssが起動しない

$document.ready(function() { 
    $('.fileDoesNotExist').each(function() { 
     $(this).html("<h3>FILE #" + $(this).attr('id').replace('T', '') + ":</h3><p><a href=\"/cp/media-upload.aspx?seq=" + $(this).attr('id').replace('T', '') + "\">click here to upload an MP3 or video</a></p>"); 
     $(this).css('border', 'none'); 
    }); 
}); 
(そこに関わるより多くの要素がありますが、これは基本的な主旨である)HTMLのこのビットに影響を与えるべきで

が :

<table class="fileDoesNotExist" style="width: 100%;margin-top: 1em;" id="T1"> 
     <tr> 
      <th colspan="3">FILE 1</th> 
     </tr> 
     <tr> 
     <td>Media Title:</td> 
      <td colspan="2"> 
       <input name="txtTitle" type="text" maxlength="255" size="50" id="txtTitle" /> 
      </td> 
     </tr> 
</table> 

このコードは、Chromeで罰金発射、Firefox、IE8、およびIE9。 IE7でページを表示しようとすると、何もしません。 IE7でIE7の標準を使って文書モードに複製することができます。また、コンソールで直接スクリプトを実行しようとすると、何もせずエラーメッセージも返されません。

.eachは間違いなく適切に発射された(私はalert($(this).attr('id'));$(this).htmlを交換し、それがfileDoesNotExistクラスとテーブルのIDを吐き出す)が、HTML/CSSの交換だけで服用されていないようです。

私はここで行方不明になっているIE7とファンキーなことがありますか?私はトピックに記載されている提案された質問を見てみましたが、.htmlや.cssには触れていませんでした。

+0

HTMLのスニペットを投稿してください。 –

+0

完了。それは完全なテーブルではありませんが、それは基本的な要点です。私はすべてのものが標準のDOM標準に準拠していることを確認するために、ダブルチェックとトリプルチェックタグを持っているので、そこに問題はないと思っています。 – antinescience

+3

暗闇の中でのショットです:IDが数字で始まる場合、IE7はそれを好まないかもしれません。たぶんあなたが手紙で始まるように変更するとIEは幸せだろうか? – Jeff

答えて

2

TableまたはTBody要素に適用した場合、innerHTMLはIE7では安全に使用できないようです。 ここにはいくつかの参考文献があります。

InnerHTML in IE7 problems

jQuery .html() not displaying any data in ie7, but ie8 works

役に立てば幸い、あなたのコードは、単純なHTMLとテーブル要素(なしTR/TDタグ)の内容を置き換えているので、両方がworkarroundsに

編集

を与えますなぜあなたのテーブルを含むdivに入れて、代わりにそのdivにfileExists/fileDoesNotExistクラスを適用してください。

JSFiddle with outer div

+0

うん。それがそれでした。 divを使用するようにテーブルレイアウトから変更しました。うまく動作します。ありがとう! – antinescience

3

コメントの中の私たちの議論によれば、番号でIDを始めるべきではありません。

+0

残念ながら、それは問題を解決していないようです。コードの後ろに生成されたIDは "T#"(#は探しているファイルのシーケンス整数)ですが、まだjQueryを受け付けていません。私はアルファ文字で始まるIDを持つことは理にかなっているが、実際のjQueryの問題は依然として続くことに同意しているので、修正を続けるつもりです。 =/ – antinescience

関連する問題