1

これは簡単なものです。

onClickを変更するコンテンツを含むリンクを作成しています。オンロードすると、クリックすると「ここをクリックして詳細情報が表示されます!」と表示され、クリックすると「ここをクリックして詳細情報が表示されます!」と表示され、もう一度クリックすると「...詳細情報」と表示されます。

私はどこかで小さな間違いを犯していると確信しています、助けて?

JavaScript

<script>
function change_text()
{
if(document.getElementById("toggle_button").innerHTML="Click here for more   
information!"){
document.getElementById("toggle_button").innerHTML="Click here for less
information!";
}else{
    document.getElementById("toggle_button").innerHTML="Click here for more     
information!";
}}
</script> 

これがHTMLです

<a href='javascript: toggle()'><p id="toggle_button" onclick="change_text()">Click here  
for more information!</p></a>    
4

4 に答える 4

4

=asを誤って使用しているだけでなく===、単純な手法であるキャッシュを使用してコードを大幅に改善することもできます。

function change_text() {
    var button = document.getElementById('toggle_button');

    if (button.innerHTML === "Click here for more information!") {
        button.innerHTML = "Click here for less information!";
    }
    else {
        button.innerHTML = "Click here for more information!";
    }
}

コードがいかに明確になるかがわかります。

于 2012-12-20T09:16:04.930 に答える
1
if(document.getElementById("toggle_button").innerHTML="Click here for more   
information!"){

する必要があります

if(document.getElementById("toggle_button").innerHTML == "Click here for more   
information!"){

比較するのではなく割り当てているため、==代わりに使用します=

于 2012-12-20T08:22:20.557 に答える
1

これを問題に使用すると、より効果的になります-

  1. 等しい使用 '==' を確認してください
  2. javascript:void(0) href での使用

            <html>
              <head>
    
                <title>index</title>
    
              </head>
              <body>
               <script type="text/javascript">
                    function change_text()
                        {
                            if(document.getElementById("toggle_button").innerHTML=="Click here for more information!")
                            {
                                document.getElementById("toggle_button").innerHTML="Click here for less information!";
                            }
                            else
                            {
                                document.getElementById("toggle_button").innerHTML="Click here for more information!";
                            }
                        }
            </script>
             <a href='javascript:void(0)' onclick="change_text()"><p id="toggle_button" >Click here for more information!</p></a>  
    
              </body>
            </html>
    
于 2012-12-20T09:11:58.043 に答える
0

"=" にミスがあります

 if(document.getElementById("toggle_button").innerHTML="Click here for more   
    information!")

このコードを試してください:

<script>
function change_text()
{
if(document.getElementById("toggle_button").innerHTML=="Click here for more   
information!"){
document.getElementById("toggle_button").innerHTML="Click here for less
information!";
}else{
    document.getElementById("toggle_button").innerHTML="Click here for more     
information!";
}}
</script>
于 2012-12-20T08:22:34.980 に答える