0

请看看我的网站:moskah.nl

如您所见,有一个预填充的输入。单击“保存”,您将看到 URL 正在保存,旁边有一个网站图标。这样做几次以创建一个列表。

如果您刷新页面,您将看到显示“http://”的部分由于某个功能而被删除:

function replace() {
    $("a").text(function(i, h){
     return h.replace('http://', "");
  });  

}

现在的问题是,如果您然后单击列表项(不是 href),您将看到该项目正在被删除。现在,如果您刷新 agian,您将看到所有网站图标都消失了。我认为这是因为“replace”函数也以某种方式删除了“href”部分,这很奇怪,因为我明确表示它应该删除“文本”。那么如何删除没有 favicon 的项目列表呢?(基本上保持其 url(href) 完整)

附言。我不能给你一个关于 jsfiddle 的演示,因为它在那里不起作用。

4

1 回答 1

1
jQuery('a[href^="http://"]', this).each(function () {
    // ...
}

您在此函数中添加 favicon;这意味着如果您的a标签的 href 属性不以http://它开头,则不会有网站图标。当您使用 jquery cookie 填充列表时:

if (cookie){
    var values = $.parseJSON(cookie);
    var li;
    for (var v in values) {
        li = $('<li><a href="' + values[v]+ '">' + values[v] + '</a></li>');
        $('.jq-text').append(li).show();

    }
// ...
}

属性 href 设置为与a标签的文本相同:

li = $('<li><a href="' + values[v]+ '">' + values[v] + '</a></li>');

您还必须将 href 属性保存在 cookie 中,或者在http://从 jquery cookie 加载时手动添加。

PS:对不起我的英语不好;我希望我所写的内容是可以理解的。

于 2012-11-12T14:50:28.107 回答