JQuery应用锚的JQuery focus()适用于Chrome和IE,而不是Firefox

JQuery应用锚的JQuery focus()适用于Chrome和IE,而不是Firefox,jquery,dynamic,hash,focus,Jquery,Dynamic,Hash,Focus,更新:这个问题已经解决,所以在加载我的示例网页时,错误的Firefox行为将不再出现 我的网页有很长的文字段落,所以我想让每个段落都有自己的永久链接。为此,我使用jQuery在页面加载后向每个段落添加锚定和链接。这在Chrome中非常有效。为了在IE中实现这一点,我在应用锚之后添加了一个显式jQuery focus()函数。但是,如果我第一次加载页面或刷新页面(例如),这在Firefox中不起作用。下面粘贴了相关的javascript $(document).ready(function()

更新:这个问题已经解决,所以在加载我的示例网页时,错误的Firefox行为将不再出现

我的网页有很长的文字段落,所以我想让每个段落都有自己的永久链接。为此,我使用jQuery在页面加载后向每个段落添加锚定和链接。这在Chrome中非常有效。为了在IE中实现这一点,我在应用锚之后添加了一个显式jQuery focus()函数。但是,如果我第一次加载页面或刷新页面(例如),这在Firefox中不起作用。下面粘贴了相关的javascript

 $(document).ready(function() {
    var i = 1;
    $("#text p").each(function(i){
        $(this).html('<a name="p' + i + '" href="#p' + i++ + '">' + $(this).html() + '</a>');
    });
    if(location.hash != '') 
        $(location.hash).focus();
  });
$(文档).ready(函数(){
var i=1;
$(“#文本p”)。每个(函数(i){
$(this.html(“”);
});
if(location.hash!='')
$(location.hash).focus();
});

谢谢

这在Firefox 3.0.16中适用于我

$(document).ready(function() {
    var i = 1;
    $("#text p").each(function(i){
        $(this).html('<a name="p' + i + '" href="#p' + i++ + '">' + $(this).html() + '</a>');
    });
    if(location.hash != '') 
        location.hash = location.hash;
});
$(文档).ready(函数(){
var i=1;
$(“#文本p”)。每个(函数(i){
$(this.html(“”);
});
if(location.hash!='')
location.hash=location.hash;
});

我还没有检查任何其他浏览器,所以您需要同时执行焦点和重置来触发所有浏览器。

在Firefox中对我很好。3.5.7,在雪豹身上。或者,我想是的。它应该跳转到相关的段落,对吗?仅供参考,Ubuntu上的Firefox 3.0.16在点击链接或点击F5后不起作用。如果我只需点击网址并点击回车键,它就可以正常工作了(听起来好像OP也看到了一样)。谢谢,这已经成功了!有时候最简单的答案就是最好的。