Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除';a';但不是在';href';_Javascript_Jquery_Function_Cookies_Replace - Fatal编程技术网

Javascript 删除';a';但不是在';href';

Javascript 删除';a';但不是在';href';,javascript,jquery,function,cookies,replace,Javascript,Jquery,Function,Cookies,Replace,请浏览我的网站: 如您所见,有一个预填充的输入。单击“保存”,您将看到正在保存的url旁边有一个图标。这样做几次以创建一个列表 如果刷新页面,您将看到显示“http://”的部分由于以下函数而被删除: function replace() { $("a").text(function(i, h){ return h.replace('http://', ""); }); } 现在的问题是,如果单击列表项(而不是href),您将看到该项正在被删除。现在,如果你再次刷新

请浏览我的网站:

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

如果刷新页面,您将看到显示“http://”的部分由于以下函数而被删除:

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

}
现在的问题是,如果单击列表项(而不是href),您将看到该项正在被删除。现在,如果你再次刷新,你会看到所有的favicon都消失了。我认为这是因为函数“replace”也删除了“href”部分,这很奇怪,因为我明确指出它应该删除“text”。那么,如何删除没有favicon的项目列表呢?(基本上保持其url(href)不变)

另外,我不能给你一个关于JSFIDLE的演示,因为它在那里不起作用

jQuery('a[href^="http://"]', this).each(function () {
    // ...
}
在该函数中添加favicon;这意味着,如果您的
a
标记的href属性不是以
http://
开头,它就不会有favicon。 使用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属性保存在cookie中,或者在从jquery cookie加载时手动添加
http://


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

如果您不能在JSFIDLE上重现这个问题,我想这不是您的
replace
函数。只有我的$0.02。@Kyle当我把它放在JSFIDLE中并点击“保存”按钮时,它会返回一些内容:“使用post”我不知道那是什么,但它不起作用。您的代码需要一些认真的重构,出于某种原因,回调似乎适用于所有的应用程序links@atif089没关系。链接由两部分组成。一部分是这样的实际url:
href=“someUrl”
另一部分是这样的:
someUrl
函数是对最后一部分的纯文本进行寻址。它不应该对第一部分做任何事情(但它确实…),解决问题的最简单方法是重写整个过程。谢谢你花时间和精力,真的很感激:)我要试试这个,如果我成功了,我会告诉你的。
li = $('<li><a href="' + values[v]+ '">' + values[v] + '</a></li>');