2
<script language="javascript">

    function changecolor (i)
    {
        if(document.getElementById)
            document.getElementById(i).color = "green";
        else if(document.all)
            document.all[i].color = "red";

        return false;
    }

</script>



<h1>Edit Status: 
    <a href="#" onClick="return changecolor('item1')" class="a">
        <font style="color: #f00;">
            <font id=item1>Disabled</font>
    </a>
</h1><br></font>

私は上記のテキストカラーチェンジャーを持っています。今は赤色で無効にしたいと思っています。クリックするとテキストが変わり、色が緑色になり、もう一度クリックすると元に戻ります..

では、どうすればそれを行うことができますか?そのコードは、一度クリックしたときにのみ機能し、テキストは変更されません..

皆さんに感謝します!

4

3 に答える 3

2

<font>推奨されていない HTML タグを使用しました。HTML タグのスタイルには CSS を使用する必要があります。

ここで CSS について読むことができます: W3schools - CSS

次の HTML が適していると思います。

<h1>Edit Status: 
    <a href="#" onClick="return changecolor(this)" style="color: red;">Disabled</a>
</h1>

このスクリプトを使用して、テキストと色を変更します。

<script type="text/javascript">

function changecolor(element){
    if (element.innerHTML == "Disabled"){
        element.innerHTML = "Enabled";
        element.style.color = "green";
    } else {
        element.innerHTML = "Disabled";
        element.style.color = "red";
    }
    return false;
}

</script>
于 2012-11-08T17:29:02.360 に答える
1

HTML 要素のネストを見てみましょう。

<h1>Edit Status: 
    <a href="#" onClick="return changecolor('item1')" class="a">
        <font style="color: #f00;">
            <font id=item1>Disabled</font>
        </a>   <----- bad
    </h1>      <----- bad
    <br>
</font>        <----- bad

私はお勧めします:

  1. これは 1997 年ではないため、すべてのタグを削除して<font>ください。:) CSS を使用してください
  2. 要素のネストを修正する
  3. 固定コードで質問を更新します
于 2012-11-08T17:14:42.467 に答える
0

あなたの小切手はとても奇妙です。あなたが利用できないシナリオはありdocument.getelementByIdません。

あなたはもっと次のようなものが欲しいです:

function changecolor (controlID)
{
    var obj = document.getElementById(controlID);

    //switch color and change text conditionally:
    if(obj.color === "green"){
        obj.color = "red";
        obj.innerText = "Disabled";
    } else {
        obj.color = "green";
        obj.innerText = "Enabled";
    }
}

しかし、それとは別に、HTML の形式が正しくないため、それを修正することも検討する必要があります。

于 2012-11-08T17:15:20.853 に答える