$(window).load(function() - 它如何与FF一起使用

时间:2010-01-29 11:31:24

标签: javascript jquery

我有一个jquery代码。

$(window).load(function() {
    document.title = $("#myid").text(); //not working in FF
});

这里我使用了$(window).load(function()因为在#myid我通过另一个javascript获得了价值,如果我使用ready(),它给我错误。所以我先加载窗口然后开始阅读价值。 现在在IE中,窗口加载后,我得到了document.title的值, 但对于FF来说它是空白的。未定义。 为什么?任何想法或替代sln。

3 个答案:

答案 0 :(得分:1)

这可能是渲染/计时问题。 你是如何设置#myid文本的?我假设您在页面加载时运行此代码? 另一方面,我喜欢使用jQuery DOM的速记版本,这也可以解决你的问题。

jQuery(function(){
   document.title = jQuery("#myid").text();
});

我会确保你在身体末端或理想情况下在头部标签中称呼它。

答案 1 :(得分:0)

我认为firefox可以在快速加载的同时触发准备和加载(localhost,带有一个div的小实验页等)

为什么不在获取之后立即将标题设置放入就绪功能?如果你把它放在一个div中,你也可以把它放在标题中。

答案 2 :(得分:0)

我没有检查这段代码,这不是一个好方法,但也许它可以帮助你...... 如果您的代码不仅仅在Firefox中工作,您可以通过Javascript检查浏览器并仅执行我的Firefox代码。

<script type="text/javascript">
var timerId = 0;

function checkElement() {
  // If don't work: try .html() or $("#myid").text() != undefined or smth like this
  if($("#myid").text()) {
    document.title = $("#myid").text();
    clearInterval(timerId);
  }
}

$(document).ready(function() {
  timerId = setInterval('checkElement()', 500);
});
</script>