删除'a'中的文字但不删除'href'中的文字

时间:2012-11-12 14:21:44

标签: javascript jquery function cookies replace

请查看我的网站:moskah.nl

正如您所看到的,有一个预先填充的输入。点击“保存”,您会看到网址正在保存,旁边有一个图标。这样做几次就可以创建一个列表。

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

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

}

现在的问题是,如果您再单击列表项(而不是href),您将看到该项目正在被删除。现在,如果你刷新agian,你会发现所有的影响都消失了。我认为这是因为某种程度上'replace'函数也删除了'href'部分,这很奇怪,因为我明确声明它应该删除'text'。那么如何在没有favicon的情况下删除项目列表? (基本上保持其网址(href)完好无损)

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

1 个答案:

答案 0 :(得分: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>');

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

PS:抱歉我的英语不好;我希望我写的是可以理解的。