我有一个jquery代码。
$(window).load(function() {
document.title = $("#myid").text(); //not working in FF
});
这里我使用了$(window).load(function()因为在#myid我通过另一个javascript获得了价值,如果我使用ready(),它给我错误。所以我先加载窗口然后开始阅读价值。 现在在IE中,窗口加载后,我得到了document.title的值, 但对于FF来说它是空白的。未定义。 为什么?任何想法或替代sln。
答案 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>