Javascript 如何使jquery if/then语句更新生效?

Javascript 如何使jquery if/then语句更新生效?,javascript,jquery,Javascript,Jquery,我试图编写一个简单的条件,说明如果显示div1,则将div2的显示更改为无。然而,我希望这是实时更新。因此,只要div1显示为“网格”,div2就会从视线中消失 <script> if($('.div1').css("display") == "grid") { $('div2').css({"display":"none"}); } </script> 如果($('.div1').css(“显示”)=“网格”){ $('div

我试图编写一个简单的条件,说明如果显示div1,则将div2的显示更改为无。然而,我希望这是实时更新。因此,只要div1显示为“网格”,div2就会从视线中消失

<script>
    if($('.div1').css("display") == "grid") {
        $('div2').css({"display":"none"});
        }
</script>

如果($('.div1').css(“显示”)=“网格”){
$('div2').css({“display”:“none”});
}

我做错了什么?

一块javascript代码不会在您方便的时候神奇地运行,除非您以这种方式运行它。您所写的内容将只运行一次,然后继续。Javascript本身不会在事情发生变化时寻找答案

您需要跟踪更改并在更改后运行代码。如果您正在为站点编写javascript,您可能知道这些更改是何时发生的,因此您可以在发生更改时执行代码块。例如,当用户单击按钮时,如果
div1
更改为
grid
,则可以将函数绑定到其
单击事件
,以便处理这种情况

更高级的方法是监视DOM上的更改,并在更改发生时运行函数。你可以用s。您可以精确地执行所需操作,
如果div更改为grid,请运行myFunction()


另一种方法是让函数按时间间隔运行,但这是一种过时的技术,容易出错和崩溃,绝不建议在javascript中使用。

javascript代码块不会在您方便的时候神奇地运行,除非您以这种方式运行。您所写的内容将只运行一次,然后继续。Javascript本身不会在事情发生变化时寻找答案

您需要跟踪更改并在更改后运行代码。如果您正在为站点编写javascript,您可能知道这些更改是何时发生的,因此您可以在发生更改时执行代码块。例如,当用户单击按钮时,如果
div1
更改为
grid
,则可以将函数绑定到其
单击事件
,以便处理这种情况

更高级的方法是监视DOM上的更改,并在更改发生时运行函数。你可以用s。您可以精确地执行所需操作,
如果div更改为grid,请运行myFunction()


另一种方法是让函数按时间间隔运行,但这是一种过时的技术,容易出错和崩溃,绝不建议在javascript中使用。

javascript代码块不会在您方便的时候神奇地运行,除非您以这种方式运行。您所写的内容将只运行一次,然后继续。Javascript本身不会在事情发生变化时寻找答案

您需要跟踪更改并在更改后运行代码。如果您正在为站点编写javascript,您可能知道这些更改是何时发生的,因此您可以在发生更改时执行代码块。例如,当用户单击按钮时,如果
div1
更改为
grid
,则可以将函数绑定到其
单击事件
,以便处理这种情况

更高级的方法是监视DOM上的更改,并在更改发生时运行函数。你可以用s。您可以精确地执行所需操作,
如果div更改为grid,请运行myFunction()


另一种方法是让函数按时间间隔运行,但这是一种过时的技术,容易出错和崩溃,绝不建议在javascript中使用。

javascript代码块不会在您方便的时候神奇地运行,除非您以这种方式运行。您所写的内容将只运行一次,然后继续。Javascript本身不会在事情发生变化时寻找答案

您需要跟踪更改并在更改后运行代码。如果您正在为站点编写javascript,您可能知道这些更改是何时发生的,因此您可以在发生更改时执行代码块。例如,当用户单击按钮时,如果
div1
更改为
grid
,则可以将函数绑定到其
单击事件
,以便处理这种情况

更高级的方法是监视DOM上的更改,并在更改发生时运行函数。你可以用s。您可以精确地执行所需操作,
如果div更改为grid,请运行myFunction()

另一种方法是让函数按时间间隔运行,但这是一种过时的技术,容易出错和崩溃,绝不推荐在javascript中使用。

插件可以做到这一点:

$('.div1').watch('display', function() {
    var display = ($(this).css('display') === 'grid' ? 'none' : 'block');

    $('.div2').css('display', display);
});
setInterval
方法不同,以下是库的功能(从github页面):

这个插件允许您监听CSS属性在元素上的更改。它利用变异观察者来模拟
domatrtmodified
(变异事件API)和
propertychange
(Internet Explorer)事件

请注意,您的原始代码使用
$('div2')
而不是
$('.div2')
,并且只匹配如下所示的元素:
foo
。在我的示例中,我已将其更改为一个类。

插件可以做到这一点:

$('.div1').watch('display', function() {
    var display = ($(this).css('display') === 'grid' ? 'none' : 'block');

    $('.div2').css('display', display);
});
setInterval
方法不同,以下是库的功能(从github页面):

这个插件允许您监听CSS属性在元素上的更改。它利用变异观察者来模拟
domatrtmodified
(变异事件API)和
propertychange
(Internet Explorer)事件

请注意,您的原始代码使用
$('div2')
而不是
$('.div2')
,并且只匹配如下所示的元素:
foo
。我把它改成了一个班