【问题标题】:Compare .innerHTML with a string将 .innerHTML 与字符串进行比较
【发布时间】:2022-02-07 22:13:45
【问题描述】:

我有一个播放/暂停按钮,当用户点击它时,我想检查它的文本是“播放”还是“暂停”。

window.PlayPauseButton = document.getElementById("PlayPauseButton");

PlayPauseButton.onclick = function()  //when you click the play or pause button
{
    if( window.PlayPauseButton.innerHTML == "Pause" )
    {
        window.PlayPauseButton.innerHTML = "Play";
        clearInterval( window.TheTimer );
    }
    else
    {
        window.PlayPauseButton.innerHTML = "Pause";
    }
};

但它不起作用!我无法将 innerHTML 与字符串进行比较。

【问题讨论】:

  • innerHTML 是一个字符串值,可以很好地与字符串进行比较。但是,您没有包含 HTML 或错误消息,因此只能猜测。 “它不起作用”是对 bug 最糟糕的描述——你应该始终准确地说出什么没有发生。

标签: javascript jquery html


【解决方案1】:

你需要检查innerText,而不是innerHTML

PlayPauseButton.onclick = function()  //when you click the play or pause button
{
    if( window.PlayPauseButton.innerText== "Pause" )
    {
        window.PlayPauseButton.innerText= "Play";
        clearInterval( window.TheTimer );
    }
    else
    {
        window.PlayPauseButton.innerText= "Pause";
    }
};

【讨论】:

    【解决方案2】:

    如果您使用的是按钮标签,请尝试改用innerText

    if (window.PlayPauseButton.innerText == "Pause" ){
        window.PlayPauseButton.innerHTML = "Play";
        clearInterval( window.TheTimer );
    }
    else  {
        window.PlayPauseButton.innerHTML = "Pause";
    }
    

    这仅在您使用 <button>Play</button> 时有效。

    如果您使用的是<input type="button">,则需要比较该值而不是innerText

    【讨论】:

      猜你喜欢
      • 2012-10-06
      • 2019-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多