2010-02-17 78 views
2

有没有什么独特的关于Safari,会使代码下面无用?虽然它按预期在所有其他的浏览器,它无法在Safari中,便做完了该属性不删除在所有...jQuery的功能不工作在Safari?

$('ul.nice-menu a').each(function() { 
    $(this).removeAttr('title'); 
}); 
+0

你使用的是什么版本的jquery?它可能是一个jQuery错误,因为它看起来像removeAttr调用底层DOM元素上的removeAttribute,尽管跨浏览器存在不一致性,这就是该方法存在的原因。 – 2010-02-17 23:54:32

+0

Web检查器控制台选项卡中是否显示任何错误消息?你使用什么版本的jQuery?它是最新版本吗? – 2010-02-17 23:55:34

+0

它是v1.2.6。尽管如此,它仍然是Drupal CMS的一部分,所以不会让我感到惊讶的是,某处某处正在破坏事物。我希望有人会说,“是的,你所做的事情有一些令人难以置信的错误”,但不是猜测? – phpN00b 2010-02-18 01:01:05

回答

0

没有必要为each循环。请尝试以下操作:

$('ul.nice-menu a').removeAttr("title"); 

虽然我不确定是否会解决此问题。

+0

我刚刚测试'removeAttr'的标题在Safari浏览器上,似乎很好(jQuery 1.4.1)。你的$(document).ready? – karim79 2010-02-17 23:58:32

+0

是的......它适用于除Safari之外的所有应用程序。 – phpN00b 2010-02-18 01:01:53

+0

你可以升级jQuery 1.4.1,看看bug是否仍然存在。另外,你使用最新的Safari吗? – 2010-02-18 04:26:08

0

不是一个真正的回应,但你尝试过

$(this).attr('title',''); 

+0

这正是我试图避免的行为......它输出一个空白标题,这是导致问题的原因。 – phpN00b 2010-02-18 00:33:41