iOS 7 Safari jquery text()未呈现

时间:2013-10-31 15:47:53

标签: jquery css safari ios7 rendering

我正在使用

$('.profile-block .first-name').text(profile_user.first_name)

设置我的文字

<h2 class="name">
    <span class="first-name"></span>
    <span class="last-name"></span>
</h2>

但文字未呈现

我使用的是iOS 7.0及其Safari应用程序。

当我打开我的Web检查器并强制元素重新渲染时,如更改字体大小,开始编辑任何CSS,文本将可见。

我想出了一个放入节点的解决方案

<span class="first-name">&nbsp;</span>

然后文本被渲染....

为什么会这样?

1 个答案:

答案 0 :(得分:-1)

所以你可以做一些非常讨厌的事情(我没有找到更好的方法),强迫浏览器重新流动:

var forceReflow = function(el) {
    el = el || document.body;
    el.style.position = 'static';
    setTimeout(function() {
        el.style.position = 'relative';
    }, 0);
}

这应该可以解决您的问题。虽然在body上执行此操作并不是最佳效果,但也许可以传递.profile-block的父级