无法使用jQuery更改按钮的值

时间:2017-08-08 17:16:47

标签: javascript jquery html

我试图用jQuery更改按钮的值。

这就是我在html中所拥有的:

<button id="choice1">John</button>

这就是我试图改变价值的原因:

$(document).ready(function(){
    $("#choice1").click(function(){
        $(this).val("Mike");  
    });
});

我甚至试过.attr / .prop / .html / .text 而不是.val 但他们都没有工作。

好的,如果我尝试将其更改为这样的数组:

var a = new Array(4000)

a[2][1] = "North"
a[2][2] = "South"
a[2][3] = "East"
a[2][4] = "West"

功能:

function state1gmg(){
$(document).ready(function(){
    $("div#gamestatesdiv").text(state1);
});

$(document).ready(function(){
    $("div#questionsdiv").text(q[1]);
});

$(document).ready(function(){
    $("#choice1").click(function(){
        $(this).html(a[2][1]);  
    });
});

}

有任何帮助吗?在此先感谢!!

4 个答案:

答案 0 :(得分:2)

更改<button>值需要更改.text.html

在此代码段中,.text按预期工作:

$(document).ready(function(){
    $("#choice1").click(function(){
        $(this).text("Mike");  
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<button id="choice1">John</button>

答案 1 :(得分:2)

您应该使用text()html()代替val()

&#13;
&#13;
$(document).ready(function(){
    $("#choice1").click(function(){
        $(this).text("Mike");  
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="choice1">John</button>
&#13;
&#13;
&#13;

答案 2 :(得分:2)

&#13;
&#13;
$(document).ready(function(){
    $("#choice1").click(function(){
        $(this).val("Mike");  
        console.log ($(this).val()); // Mike. This changes value, but I suppose that you want to change inner text
        $(this).text("Mike");  // now the visible text will be Mike
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<button id="choice1">John</button>
&#13;
&#13;
&#13;

答案 3 :(得分:1)

您正在更改值,但是您想要使用按钮(与输入不同)要更改HTML(或文本):

$(document).ready(function(){
    $("#choice1").click(function(){
        $(this).html("Mike");  
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="choice1">John</button>