jquery按钮名称更改不起作用

时间:2014-01-31 06:01:23

标签: javascript jquery button click

我已经看了其他答案并尝试了一些事情,但我似乎无法更改按钮的名称。我知道jquery加载正常,我可以通过单击按钮执行简单的警报脚本。但名称变更似乎不起作用。 我试过了:attr和文本函数。我也试过“这个”而不是'#toggleAutoPlayBtn' 还有其他建议吗?

<input type ="button" id="toggleAutoPlayBtn" value="PAUSE"/>    



var autoStart = true;
    $(document).on('click', '#toggleAutoPlayBtn', function(){
                if(autoStart) {
                    $('#toggleAutoPlayBtn').text('play');
                    autoStart = false;
               alert("play");
                } else {
                    $('#toggleAutoPlayBtn').text('pause');
                    autoStart = true;
               alert("pause");
                }
    });

我正在使用:

6 个答案:

答案 0 :(得分:3)

您正在使用input type = button,因此无法使用.text()方法,因为它是在value属性中提供的。所以使用

检索它
 $('#toggleAutoPlayBtn').val('play');

否则请使用button代码。

<button id="toggleAutoPlayBtn">PAUSE</button>

现在可以使用

 $('#toggleAutoPlayBtn').text('play');

答案 1 :(得分:2)

按钮不接受.text()

试试这个:

$('#toggleAutoPlayBtn').attr('value','pause');

答案 2 :(得分:1)

您必须使用value属性。根据您使用的方法尝试以下方法。

对于1.6以上的版本,

$("#toggleAutoPlayBtn").attr('value', 'play');

对于1.6以上的版本,

$("#toggleAutoPlayBtn").prop('value', 'play');

答案 3 :(得分:1)

试试这个

$('#toggleAutoPlayBtn').val('play');

答案 4 :(得分:1)

您需要使用val()

var autoStart = true
$(document).on('click', '#toggleAutoPlayBtn', function(){
    if(autoStart) {
        autoStart = false;
        $('#toggleAutoPlayBtn').val('play');
        alert("play");
    } else {
       autoStart = true;
       $('#toggleAutoPlayBtn').val('pause');
       alert("pause");
    }
});

Try in fiddle

答案 5 :(得分:1)

您应该使用$('#toggleAutoPlayBtn').val('play');$("#toggleAutoPlayBtn").prop('value', 'play');

此代码只会更改一次值,每次单击按钮时都不会切换,除非您更改autoStart的值。

 $(document).on('click', '#toggleAutoPlayBtn', function(){
        if(autoStart) {
            $('#toggleAutoPlayBtn').text('play');
       alert("play");
        } else {
            $('#toggleAutoPlayBtn').text('pause');
       alert("pause");
        }
 });

切换:

    var started = true;
    $(document).on('click', '#toggleAutoPlayBtn', function(){
                if(started) {
                    $('#toggleAutoPlayBtn').val('play');
                    started = false;
                    alert("play");
                } else {
                    $('#toggleAutoPlayBtn').val('pause');
                    started = true;
                    alert("pause");
                }
    });

Fiddle