Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反复更改按钮和文本_Javascript_Jquery - Fatal编程技术网

Javascript 反复更改按钮和文本

Javascript 反复更改按钮和文本,javascript,jquery,Javascript,Jquery,我在页面上有一个按钮和一些文本,我正在尝试在单击按钮时更改按钮文本和页面文本,我正在尝试使用jQuery来实现这一点。它在第一次单击按钮时起作用,但在再次单击时不会再次更改。这是我的密码: var button = $('.button'); var div = $('.div') button.on('click', function() { if(button.html('Hello World') && div.html('Hello World')) {

我在页面上有一个按钮和一些文本,我正在尝试在单击按钮时更改按钮文本和页面文本,我正在尝试使用jQuery来实现这一点。它在第一次单击按钮时起作用,但在再次单击时不会再次更改。这是我的密码:

var button = $('.button');
var div = $('.div')
button.on('click', function() {
    if(button.html('Hello World') && div.html('Hello World')) {
        button.html('What\'s Up');
        div.html('What\'s Up');
    }
    else if(button.html('What\'s Up') && div.html('What\'s Up'))  {
        button.html('Hello World');
        div.html('Hello World');
    }
});

第一个条件将始终返回true,因为它设置了
div
按钮的值,而不是检查是否相等。尝试:

if(button.html() == 'Hello World' && div.html() == 'Hello World') {

最好使用
text()
而不是
html()
,因为您实际上没有设置html

不要使用
.html
,使用
.val
。谢谢您的帮助,您的建议奏效了。我现在也明白了你所说的检查相等,而不是改变值的意思。
var text1 = 'Hello World', text2 = 'What s\'up ?';

$('button').click(function() {
  if ($(this).text() == text1) {        
    $(this).text(text2);
    $('div').html(text2);
   } else {         
     $(this).text(text1);
     $('div').html(text1);
   }

});