0

你们如何看待这段代码可以帮助一些懒惰的人:)

$('a').each(function (i,n){
    $title = $(n).attr('title');
    if(!$title){
        $(n).attr('title',$(n).html());
    }
});

考虑到大多数链接的标题与其文本相同,所以......如果你们中的任何人喜欢这样,请告诉我?

所以我们可以告诉 w3school 勾选了一个框 :)

4

3 回答 3

1

这对浏览器来说是不必要的工作。如果您有大量链接,则此代码可能会大大减慢初始化时间。

但是,如果您想加快速度,您可以隐藏所有文本(即,将其从 DOM 中取出),应用此代码,然后再次显示。不过,这可能会使您的文本闪烁。

另外,只是不要偷懒并输入标题:)

于 2010-06-15T16:33:01.797 回答
1

您应该在变量前面加上一个var语句,以防止它成为隐含的​​全局变量。

您的整个事情可以简化为:

$('a:not([title])').attr('title', function () {
    return $(this).text();
});

(更喜欢)text()html()

于 2010-06-15T16:33:05.073 回答
0

你的最终目标是什么?你只是想满足一些任意的清单吗?还是您实际上是在尝试让用户更容易访问您的网站?您是否尝试过可访问的浏览器 - 您是否确认他们不只是在没有设置标题属性的链接上使用链接文本?如果是这种情况,您实际上并没有取得任何成就,只是让您的网站对每个人来说都变慢了。

如果您想支持可访问性,请正确执行并使用经过深思熟虑的标题属性。

于 2010-06-15T16:53:44.680 回答