重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

javascript初心者です。
javascriptが無効な場合に、

<noscript><link href="css/noscript.css" rel="stylesheet" type="text/css" />
・・・・・・・・
</noscript>

という形でcssを一部適用させているのですが、<noscript>のなかに<link>を書くのは文法上あまりよろしくないとのことで、ほかに正しい方法があれば教えてください。
よろしくお願いします。

A 回答 (5件)

すでにjs_playerさんが書いているし、今更なところもありますが書いておきます。



removeChildの使い方はjs_playerさんが示しているとおりで
>削除したい要素の親要素.removeChild(削除したい要素)
なわけで、link.parentNode.removeChild(link)で示すと

(link.parentNode).removeChild(link);
・link.parentNode が削除したい要素の親要素
・link が削除したい要素

parentoNodeは親要素を参照するので、
link.parentNodeはlinkの親要素を示すます。
    • good
    • 0

removeChild は子要素を削除する DOM の関数です。



削除したい要素の親要素.removeChild(削除したい要素)

として使います。

あと、間違いを訂正。No.3の回答で、
× DTD宣言 → ○ DTD
    • good
    • 0

確かに、 noscript の中に link を書くのは(X)HTMLの文法上正しくありません。


以下は XHTML1.0 Transitional のDTD宣言の一部ですが、

<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
<!ENTITY % misc "ins | del | script | noscript">
<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
<!ELEMENT noscript %Flow;>

となっており、noscript の中に head.misc である link を書くことはできません。

ESate 様の書かれた物がいいのではないでしょうか。

参考URL:http://www.w3.org/TR/2000/REC-xhtml1-20000126/DT …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

補足説明していただきありがとうございます。
こういったものがあるとは知りませんでした。
初心者なのであんまり意味が理解できないですけど(笑)今から勉強します。
大変勉強になります。

お礼日時:2007/03/31 10:53

><noscript>のなかに<link>を書くのは文法上あまりよろしくないとのことで



なぜ?

この回答への補足

なぜよくないかはまだ理解できてないです。

補足日時:2007/03/31 10:54
    • good
    • 0

正しいかどうかはわかりませんが逆の発想で、


javascriptが有効なときに<link>を省いてみるのも手です。

例:
// とりあえずidをつけてhead内に書いておく
<link id="noscript" href="css/noscript.css" rel="stylesheet" type="text/css" />

// スクリプト部分
window.onload = function(){
var link = document.getElementById('noscript');
link.rel = 'alternate'; // removeChildが動かないときの保険
link.parentNode.removeChild(link);
}

この回答への補足

今調べながらやってるんですが、初心者なもので・・

link.parentNode.removeChild(link);
の部分の意味がいまいちわかりません・・・

重ねて申し訳ございませんが、もしよろしければ・・・

補足日時:2007/03/31 13:01
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

こういう方法があるんですね。
勉強になります。
これからやってみます。

お礼日時:2007/03/31 10:46

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