• ベストアンサー

<DIV> の ID の属性値 `BOXテーブル`

Another HTML Lintでチェックしたら <DIV> の ID の属性値 `BOXテーブル` は正しくありません。 英字から始まる名前文字列(ID)でなければなりません。 と出たのですが、 「BOXテーブル」は、Bから始まっているから「英字から始まる名前文字列」になると思うのですが 何がダメなのでしょうか? カタカナを使ってるのが、ダメなのでしょうか?

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

  • ベストアンサー
noname#249914
noname#249914
回答No.2

ご質問者様の推測どおり、カタカナを使っているためエラーがでています。 エラーメッセージは「名前文字列(ID)は半角英数字でなければなりません」であるべきでしょうね。誤解されても仕方がないと思います。すべて半角英数字に修正すると、エラーが解消されると思います。

VLXSSSJKPT
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • sanzero
  • ベストアンサー率56% (58/102)
回答No.1

idやclassその他属性値は基本的に半角英字以外は使わないほうがよいです。 半角数字も意味のある場合のみ使うようにします。 (悪い例: nav1, nav2)→数字の意味がわからない (良い例: pad10)→padding10pxと予想がつく(pxじゃないかもしれんけど) http://www.tagindex.com/html_tag/attribute/id.html ※ここで質問する前に試したほうが早い

VLXSSSJKPT
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 同じid属性を何回も使ってはいけないの?

    「Another HTML-lint gateway」(個人のサイトっぽいのでリンクは貼りません)というHTMLの文法チェックサイトで、<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">として文書をチェックしたところ、id属性が重複して使用されているのが良くないという結果が出ました。 具体的にはHEAD内にstyle定義として、仮に「#td1 td{ スタイルの内容 } 」という属性を書き、その属性を反映させたいテーブルに「id="td1"」を付けました。全く同じ処理をしたいテーブルがたくさんあるのでそれらにも全て「id="td1"」を付けたところ、上記チェックでダメだしを食らったというわけです。 id属性は、同じように処理したい箇所を、ひとつ定義を作ることによって全て同じように処理を適用するものだと思ってるんですが、そういうものではないんですか? また、同じような属性としてclassも同様なのでしょうか?

    • ベストアンサー
    • HTML
  • <LINK> の ID の属性値

    <LINK rel="stylesheet" href="table.css" type="text/css" id="_HPB_TABLE_CSS_ID_"> に対して、 <LINK> の ID の属性値 `_HPB_TABLE_CSS_ID_` は正しくありません。英字から始まる名前文字列(ID)でなければなりません。 診断されるのですが、idって、そもそも何ですか? また、どうしたら、改善されるのでしょうか? すいませんが、はっきり言って、わたし、知識がないんです。 教えてください。

    • ベストアンサー
    • HTML
  • HTMLの属性について

    【Another HTML-lint gateway】 URL:http://openlab.ring.gr.jp/k16/htmllint/htmllint.html で、自サイト(HTMLの文法)をチェックしたのですが、 ■<HTML> に他のHTML用の属性 `XMLNS` が指定されています。 ■<A> の属性 `TARGET` はあまり薦められない属性です。 など2つの警告を受けました。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja"> ↑の表記が間違っているのでしょうか? また、リンクを貼る時は、<A>タグ内にtarget="_self"を入れているのですが、これは入れない方が良いのでしょうか? よければご指南ください。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • CSSのid属性

    cssでtableにid属性を指定しています。 同じページの中で同じid属性を何度も使用しても大丈夫なのでしょうか? HTMLチェッカーで 「重複しています」とエラーがでたので心配になりました。 また、以下のように、同じ<table>内で、 <tr>と<td>にそれぞれclassを持たせても大丈夫でしょうか? IEではキチンと表示されるのですが、 本来はやってはいけないことだったりしますか? <table id="table-style"> <tr class="tr1"> <td class="td1"> ほにゃらら </td> </tr> </table> 教えてください! 宜しくお願いします。

  • CSSでレイアウト divで囲んだ枠にtableを入れるとブラウザによって表示が異なる

    お世話様です。 CSSでレイアウトしたウェブサイトを作成中です。 簡単に書くと・・・ <div id="style_a"> 文字列A <table> <tr><td></td></tr> </table> 文字列B </div> IEでは、style_aがテーブル後の文字列Bにも反映されるのですが、 FirefoxとOperaでは、テーブルの前の部分でstyle_aが無効になりテーブルと文字列Bはデフォルトに戻ってしまいます。 このような場合、どのように設定すればいいのでしょうか? ちなみに間のテーブルはレイアウトとしてではなくデータを表として表示したいので使っています。 どうか教えてください。

    • ベストアンサー
    • CSS
  • jQuery 最初のDIVの前へ、最後のDIVを

    jQUeryで、 指定した要素の中にある複数のDIVの内、最初のDIVの前に 指定した要素の中の最後のDIVを複写して作成。 そして、 指定した要素の中の最後のDIVを削除する 方法について教えていただけないでしょうか。 <div id="waku"></div> Menu=[{'Cmnt1':'aaaaaaa'},{'Cmnt1':'bbbbbbbbbb'},{'Cmnt1':'ccccccccccc'},{'Cmnt1':'ddddddddd'}]; for(var i=0;i<Menu.length;i++){ $(#waku).append(<div id="eachDiv"'+i+'">'+文字列+'</div>'); $('#eachDiv'+i).append('<br>'+i+' : '+Menu[i].Cmnt1); } として、以下のようなイメージのdivの構造を作成します。 <div id="waku">   <div id="eachDiv0">文字列     <div>0:aaaaaa</div>   </div>   <div id="eachDiv1">文字列     <div>1:bbbbbbbb</div>   </div>   <div id="eachDiv2">文字列     <div>2:ccccccc</div>   </div>   <div id="eachDiv3">文字列     <div>3:ddddddd</div>   </div> </div> 上記のような構造を 以下のような構造にしたいのです。 <div id="waku">   <div id="eachDiv3">文字列     <div>3:ddddddd</div>   </div>   <div id="eachDiv0">文字列     <div>0:aaaaaa</div>   </div>   <div id="eachDiv1">文字列     <div>1:bbbbbbbb</div>   </div>   <div id="eachDiv2">文字列     <div>2:ccccccc</div>   </div> </div> 次のようにしてみましたが、#eachDiv3の中の要素のみ複写されてしまいます。 つまり、以下のようになってしまいます。 <div id="waku">   <div>3:ddddddd</div>       //eachDiv3の中身   <div id="eachDiv0">文字列     <div>0:aaaaaa</div>   </div>   <div id="eachDiv1">文字列     <div>1:bbbbbbbb</div>   </div>   <div id="eachDiv2">文字列     <div>2:ccccccc</div>   </div>   <div id="eachDiv3">文字列   </div> </div> //コード var elem=$('#waku div:last'); $('#waku div:first').before(elem.clone(true)); elem.remove(); #eachDiv3自体を先頭へ複写して、最後の#eachDiv3を削除するにはどのようにしたら良いのでしょうか。 よろしくお願いいたします。

  • どこをテーブルで作るべきか、divタグで作るべきかの境目というか、考え

    どこをテーブルで作るべきか、divタグで作るべきかの境目というか、考え方が 微妙で困っています。 サイトレイアウト大まかな段組は<div>でできるだけ行うように、みたいにCSSデザインの勉強をしていると書いてあり、その意味は分かりますが、<div>タグで概観をレイアウトしても、結局は、divで定義したコンテンツBOXの中身だったりメニューの中身だったりは テーブルで配置したほうが更新作業的にやりやすいし、テーブルほうがよいのでは? みたいに、なってしまいます。 左に画像、右にコメント(文字列)などの関係のものが、以下に複数続いたりする場合、 どう考えてもテーブルのほうがよくない?って思うんですよね。 その場合でも無理やりdivタグでテーブル構造を作るもんなんですかね? divタグだとコード量が少なくなるからSEO対策的に良いっていうのは理解できますが、 divタグはここまで作る、テーブルタグの使い分けが微妙です。 このときはテーブルにしないといけない。とかないんでしょうから ある意味センスなんでしょうが。。。。 製作の効率と、コンテンツの管理の仕方を考えると divタグとテーブルの使い方の境目が分からなくなってしまいます。 そのへんの考え方ノウハウを教えてください。

  • <TD div id="new">←こういうのありですか?

    <TD div id="new"> このようなタグはありますか? タグのチェックをしたら、不明な属性としてエラーメッセージが出てきました。 「new」に何を指定してるかというと、画像をおいて、その画像の大きさやリピートするかどうかなどの指定です。 エラーが出ないタグの書き方、教えてください。 素人なのでよろしくお願いします。

    • ベストアンサー
    • HTML
  • <DIV id=""></DIV>勘でいれたら・・・

    はじめまして。JavaScript初めてです。 わからないことがあるので、教えてください。 画面を左右にフレームで分割して、左フレームのリストボックスから要素を選択すると、その要素に該当した表が右フレームに表示される、というものを作成しました。 左フレーム:name = index 右フレーム:name = main こんな感じ(左フレーム)↓ <HTML> <HEAD> <SCRIPT language="JavaScript"> <!-- function disp(obj){ 右フレームの表のHTML作成をしている parent.main.document.open(); parent.main.document.write (desc.innerHtml = 上で作成したHTML); parent.main.document.close(); } --> </SCRIPT> </HEAD> <BODY onload="disp(form)"> ※<DIV id="desc"></DIV> <FORM name="form"> <SELECT name="MListBox" onchange="disp(form)"> <xsl: apply-templates select="~"/> </SELECT> </FORM> *<DIV id="desc"></DIV> </BODY> </HTML>   ・   ・ <xsl文章>   ・ 初めは、※←のところがなく、右と左のフレーム両方に表が出力されてしまっていました。でも※←のところに<DIV id="desc"></DIV>を勘で入れたとたん、右フレームだけに表が出力されるようになりました。(期待の結果) 自分の予想では、*←のところのみで期待の結果が得られる予定で、(disp()でHTMLの出力を右フレームに指定しているから)何故※のところを追加したことで期待通りの動きをしたのかが謎です。 わかりづらい説明で申し訳ないですが、教えてくださる方がいらっしゃいましたら、どうぞお願いします。

  • divタグ内のコンテンツが重なって表示されてしまう。

    下記のようなHTMLを表示させるときに IEでは上下に並んで表示されるのですが、FF、Operaなどでは重なって表示されてしまいます。 どうしたら、上下に並べて表示させられますか? <div id="a"> <div id="b"> <ul> <li>重なってしまう文字列</li> <li>重なってしまう文字列</li> </ul> </div> </div> <table> <!-- このテーブルタグの上に重なって表示されてしまう --> </table>