Android Stock 浏览器 - 不响应 class 更改

Android Stock Browser - Not responding to class changes

对于我的网页,在 Android API 级别 21 上一切正常。

但是当我针对 Android API 级别 18 测试同一页面时,某些功能不起作用。

当我使用 javascript 在 .div1 上切换 class "check" 时。 .div2 显示未更新。

这是样本 HTML 和样本 CSS

HTML

<div class="div1 check"></div>
<div class="div2"></div>

<div class="div1"></div>
<div class="div2"></div>

CSS .div2{ 显示:none;} .div1.check ~ .div2{ 显示:块;}

同样,这在 Android API 级别 21 中工作正常,但在 Android API 级别 18 中面临问题。

有什么建议吗?

注意到当我更改设备方向时,原版浏览器似乎重新绘制了页面并且所有 CSS 都有效。

所以为了通过代码强制重绘屏幕,我写了一个小的util函数

    function _repaintPage() {
      $("body").hide().show();
      $("body").removeAttr("style");
    }