Javascript 更改标题的功能

Javascript function to change Caption

function change_text(a){

    if (a == Canberra){
        var x = document.getElementById("a");
        document.x.innerHTML = "Correct!";
    }

    else{
        var x = document.getElementById("a");
        document.x.innerHTML = "Incorrect!";
    }
}

  
  <figure>
             <button onclick="change_text(Melbourne)"> Melbourne! </button>
             <figcaption id="Melbourne"> &nbsp; </figcaption>
     </figure>


    <figure>
            <button onclick="change_text(Canberra)"> Canberra! </button>
            <figcaption id = "Canberra"> &nbsp; </figcaption>
    </figure>

你好,我是JS/HTML的新手。我打算创建一些带有标题的按钮。但只有在单击相应按钮时,字幕才会出现。到目前为止,最简单的方法是使用图形标签,将标题放在按钮的正下方。该函数应将城市名称作为参数,并根据按下哪个按钮,标题应 show/change 到 correct/incorrect。

我对此很陌生,我不明白我所做的是否有意义,所以我感谢您的帮助。

这样试试。您的代码有一些语法错误。 首先change_text(sometext)。 更改此 change_text('sometext')。 在 if 操作中将 if(a == sometext) 更改为 if(a == 'sometext') 并将 document.x.inerHTML 更改为 x.innerHTML

    function change_text(a){
       
        if (a == "Canberra"){
            var items = document.getElementsByClassName(a);
            console.log(items)
            Array.prototype.forEach.call(items, function(item) {
            item.innerHTML="Correct!";})
        }

        else{   
            var items = document.getElementsByClassName(a);
            Array.prototype.forEach.call(items, function(item) {
            item.innerHTML="Incorrect!";})      
        }
    }
    
      <figure>
                 <button onclick="change_text('Melbourne')"> Melbourne! </button>
                 <figcaption class="Melbourne"> &nbsp; </figcaption>
                 <figcaption class="Melbourne"> &nbsp; </figcaption>
         </figure>


        <figure>
                <button onclick="change_text('Canberra')"> Canberra! </button>
                <figcaption class="Canberra"> &nbsp; </figcaption>
                <figcaption class="Canberra"> &nbsp; </figcaption>
        </figure>

第一个问题是您使用的 document.getElementById("a") 是错误的,这里没有具有 "a"id 的元素。所以你需要使用 document.getElementById(a) 而不是

第二个问题是您正在使用 document.x.innerHTML 它应该是 x.innerHTML 而不是

第三个问题是你需要像这样在 if 语句中使用引号 "" if (a === "Canberra")

代码:

function change_text(a){

         if (a === "Canberra"){
             var x = document.getElementById(a);
             x.innerHTML = "Correct!";
         }

         else{
             var x = document.getElementById(a);
             x.innerHTML = "Incorrect!";
         }
 }