0

こんにちは、私はこのコードを持っています

htmlコード

<ul>
<input type="button" onclick="appear()"/>
<li id="addQuestionChoices">roma</li>
</ul>

CSSコード

#addQuestionChoices{display:none;}

JavaScript コード

function appear()
{document.getElementById('addQuestionChoices').style.display="block";}

ボタンを押しても何も起こらないのですが、JavaScript は LI タグで動作しませんか? または何 ?答えてくれてありがとう

4

5 に答える 5

5

<li>タグは または 内にある必要があり、<ul>および<ol>の唯一の許可された子<ul><ol>タグ<li>です。これは、あなた<input>がの外側にいる必要があることを意味します<ul>:

<input type="button" onclick="appear()"/>
<ul>
    <li id="addQuestionChoices">roma</li>
</ul>
于 2012-05-08T15:56:19.113 に答える
2

このフィドルのように、のに必ず関数を定義してください: http://jsfiddle.net/2dUfa/

<script>
function appear() {
    document.getElementById('addQuestionChoices').style.display= "block";
}
</script>
<input type="button" onclick="appear()" value="appear" />

<ul>
   <li id="addQuestionChoices">roma</li>
</ul>

<li>補足として:要素のデフォルトの表示プロパティはlist-item(ではないblock)

于 2012-05-08T16:10:24.800 に答える
1

orタグの<li>中に入れてみてください。<ol><ul>

于 2012-05-08T15:57:22.630 に答える
1

インライン Javascript コードの使用を避け、代わりに分離しておくことに集中する必要があります。次のように、イベント ハンドラーをスクリプト タグ (または、ドキュメントの最後に読み込まれるスクリプト ファイル) でオブジェクトにアタッチします。

<input id="clickButton" type="button" value="submit" />
    <ul>
        <li id="addQuestionChoices">roma</li>
    </ul>

<script>
    document.getElementById('clickButton').onclick = function() {
        document.getElementById('addQuestionChoices').style.display="block"
    };
</script>

これの実例はhttp://jsfiddle.net/xxgdB/にあります。

list-itemまた、表示フィールドでまたはinheritを使用して同じ効果を得ることができることにも注意してください。

于 2012-05-08T16:09:57.640 に答える
1

HTML 内に JavaScript 呼び出しを埋め込むことは、悪い習慣です。機能、スタイル、およびマークアップが分離されていると、コードの保守性が大幅に向上します。次に、要素をまたはタグ<li>のペア内にネストする必要があります。<ul><ol>

このタスクに取り組む方法の jsFiddle の例を作成しました。

http://jsfiddle.net/dLqja/1/

このコードでは、「クリック」リスナーを作成しました。これは、ID を介してボタンにアタッチされます。ボタンを押すと、「li」要素の表示スタイルを動的に変更する匿名のコールバック関数がトリガーされます。

jQueryの組み込み

ページに含める最初の JavaScript を次のようにします。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

この jQuery スクリプトは Google によってホストされており、次のような利点があります (これを使用して以前の Web サイトにアクセスすると、クライアントのブラウザーに既にキャッシュされている可能性があります)。

jQuery の機能を使用する JavaScript コードは、上記のスクリプトの後に含める必要があります。

なし jQuery バージョン...

ボタンにイベントリスナーを割り当てることで、上記と同様の結果を得ることができます。このアプローチは、マークアップから機能を分離する規則に固執するため、 onclick="..." を使用するよりも望ましい方法です。これらの回答のいずれもうまくいかない場合は、ブラウザのコンソールでエラー メッセージを確認してください。 http://jsfiddle.net/SvufY/1/

于 2012-05-08T16:04:39.033 に答える