1

这是一个简单的。

我正在创建一个包含更改 onClick 的内容的链接。Onload 它应该说“单击此处获取更多信息!”单击时,它应该显示“单击此处获取更少信息!”然后重新单击“...更多信息”。

我确定我只是在某个地方犯了一个小错误,帮助?

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 回答