【问题标题】:How to change a button's value? Jquery如何更改按钮的值? jQuery
【发布时间】:2016-01-01 12:27:17
【问题描述】:

我有一个可以展开和隐藏文本的按钮。但是我不确定如何更改文本的值。我的意思是,当我单击显示“展开”的展开按钮时,它不会变为“隐藏”,而是保持为“展开”。我在 javascript 中尝试过,但不完全确定如何将其应用于 html :(

function btnChanger() {
    var i = 0;

    if(i % 2 == 0)
    {
        document.getElementById("hide").value="Hide";
    }
    else
    {
        document.getElementById("hide").value="Expand";
    }
    i++;
}

如果在 Jquery 中更容易做?我不太确定,在此先感谢 :) 这是 Jfiddle:https://jsfiddle.net/dmgnsx17/3/

【问题讨论】:

  • 因为你总是在函数内部声明var i=0,所以它总是0
  • 您的代码是正确的,但您每次都将 i 重新初始化为 0。引用一个不是函数本地的计数器,或者在这个答案中执行类似的操作:stackoverflow.com/a/10671201/185034
  • 只需使用$("#hide").prop("value", "Expand/Hide") 或 attr()
  • 还需要更改innerHTML,而不是值

标签: javascript jquery html


【解决方案1】:

您可以同时使用 jQuery 或 JavaScript。使用此代码而不是声明任何新变量或全局变量,这可能会吸引错误值:

function btnChanger() {
    if (document.getElementById("hide").innerHTML == "Hide")
        document.getElementById("hide").innerHTML = "Expand";
    else
        document.getElementById("hide").innerHTML = "Hide";
}

要在 jQuery 中做同样的事情,你可以使用:

function btnChanger() {
    if ($("#hide").html() == "Hide")
        $("#hide").html("Expand");
    else
        $("#hide").html("Hide");
}

【讨论】:

    猜你喜欢
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 2018-01-16
    • 2012-01-25
    • 2013-05-17
    • 1970-01-01
    相关资源
    最近更新 更多