- ベストアンサー
imgタグの取得に失敗した場合の対処法
- imgタグで画像の読み込みに失敗した場合、その行を削除する方法について
- 10行程度の画像表示テーブルで、取得に失敗した画像の行を削除する方法を教えてください
- imgタグの取得失敗時に、その行を消す方法についてアドバイスをいただきたいです
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
imgにonerrorを付けるってとこまでは#1さんと同じです。 行ごと消す、を、その行を非表示、にしています。 <html> <head> <script type="text/javascript"> function sample(Img){ for(var TR=Img;TR&&TR.nodeName!='TR';TR=TR.parentNode); if(TR)TR.style.display='none'; } </script> </head> <body> <table> <tr><td><a href="・・・"><img src="・・・" alt="・・・" onerror="sample(this)"></a></td><td>テキスト</td></tr> <tr><td><a href="・・・"><img src="・・・" alt="・・・" onerror="sample(this)"></a></td><td>テキスト</td></tr> <tr><td><a href="・・・"><img src="・・・" alt="・・・" onerror="sample(this)"></a></td><td>テキスト</td></tr> </table></body> </html> ところで・・・ >取得に失敗して、代わりのaltのテキストが表示される ってのがまさにaltの役割りなんですけど非表示にしちゃっていいものでしょうか? もし代替テキストでないんだとしたらaltは空にしてtitleに内容?を書いた方がいいかと思います。 → <img src="・・・" alt="" title="・・・" onerror="sample(this)">
その他の回答 (4)
- babu_baboo
- ベストアンサー率51% (268/525)
ごめんなさい <img>に altをかいていませんでした。
- babu_baboo
- ベストアンサー率51% (268/525)
もうひとつ 質問を・・・? 回答を・・・では? node.onerror = null; を、いれないと、さくじょしたのにえらーになります それはなぜ?
- babu_baboo
- ベストアンサー率51% (268/525)
わ・・・× は・・・○
- babu_baboo
- ベストアンサー率51% (268/525)
こういうのは? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Script-Type" content="application/javascript"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>test</title> </head> <body> <table summary="がぞうのいちらんひょうになります" border="1"> <tr> <td>photo0</td> <td><a href="#"><img src="./img/01.gif" onError="delTR( this )"></a></td> </tr> <tr> <td>photo0</td> <td><a href="#"><img src="./img/1.gif" onError="delTR( this )"></a></td> </tr> <tr> <td>photo0</td> <td><a href="#"><img src="./img/2.gif" onError="delTR( this )"></a></td> </tr> </table> <script type="text/javascript"><!-- var delTR = (function ( getParent ) { return function ( node ) { var tr = getParent( node, 'nodeName', 'TR' ); node.onerror = null; if( tr ) tr.parentNode.removeChild( tr ); }; })( function ( node, type, val ) { return node ? ( val === node[ type ] ) ? node: arguments.callee( node.parentNode, type, val ): null; } ); //--> </script> </body> </html> ぜんかく、くうはくは、はんかくになおしてね