使用jquery完全删除href链接

使用jquery完全删除href链接,jquery,Jquery,我已经为我的网站构建了一个jquery滑块。共有3张幻灯片,每张幻灯片包含30-40张链接到单独页面的图像 我想完全删除幻灯片上未激活的href链接,然后在幻灯片激活时再次添加它们。我尝试过几种方法,例如: $('a').click(function(e){ e.preventDefault(); }); 但这只会阻止链接点击,实际上不会删除它 对我能做什么有什么建议吗 我之所以想这样做,是因为谷歌不喜欢一个页面上有超过100个内部链接,而我几乎有两倍的链接 谢谢,丹,我不明白你的代码,你为什

我已经为我的网站构建了一个jquery滑块。共有3张幻灯片,每张幻灯片包含30-40张链接到单独页面的图像

我想完全删除幻灯片上未激活的href链接,然后在幻灯片激活时再次添加它们。我尝试过几种方法,例如:

$('a').click(function(e){
e.preventDefault();
});
但这只会阻止链接点击,实际上不会删除它

对我能做什么有什么建议吗

我之所以想这样做,是因为谷歌不喜欢一个页面上有超过100个内部链接,而我几乎有两倍的链接


谢谢,丹,我不明白你的代码,你为什么要听点击事件? 如果不想停用它们,可以将
$(“a”).css(“显示”、“无”)然后稍后将其设置回原处。如果您不想完全删除html,那么它就是
$(“a”).remove()


无论如何,这对你没有帮助。谷歌的索引器没有启用javascript,你必须更改原始html。

我不明白你的代码,你为什么要听点击事件? 如果不想停用它们,可以将
$(“a”).css(“显示”、“无”)然后稍后将其设置回原处。如果您不想完全删除html,那么它就是
$(“a”).remove()


无论如何,这对你没有帮助。Google的索引器没有启用javascript,您必须更改原始html。

请注意,Google将删除原始代码,不会注意导致js操作的代码

您可以从dom中不使用href开始,并使用类似

<a data-href="url">
或者,您可以在dom就绪时立即激活它们

$('#carousel a').each(function() {
    $(this).attr('href', $(this).data('href'));
});

请注意,google将删除原始代码,不会关注导致js操作的代码

您可以从dom中不使用href开始,并使用类似

<a data-href="url">
或者,您可以在dom就绪时立即激活它们

$('#carousel a').each(function() {
    $(this).attr('href', $(this).data('href'));
});

href中使用javascript:void(0)用户将不会进入下一页,并且页面中不再使用url

请尝试以下代码:

$('a').click(function(e){
    $(this).attr("href","javascript:void(0)");
})

href中使用javascript:void(0)用户将不会进入下一页,并且页面中不再使用url

请尝试以下代码:

$('a').click(function(e){
    $(this).attr("href","javascript:void(0)");
})

如果由于某些原因无法访问,请在当前活动图像上尝试此操作

$("active image identifier selector a").attr("href", "link to add");
$("all images selector").not("active image identifier selector").find("a").removeAttr("href")
请注意,使用removeAttr不会禁用链接,它会完全删除链接,不确定这是否是您想要做的。只是确认一下,你想停用或删除所有链接

e、 preventDefault仅禁用链接,但不删除它

假设您激活了第二个图像,并且执行了类似$(“images a”).attr(“href”,“link to add”)的操作,您如何知道在该图像和之前的图像变为活动图像时要添加哪些链接,因为您几乎已经放弃了href属性

我建议的解决方案是将链接存储在类似

//store href in link data for each link to be deactivated
$("all images selector").not("active image identifier selector").each(function(){

    var $this = $(this);

    //get url of link
    var url = $this.attr("href");

    //store url in a data attribute for that link
    $this.data("my-url", url);

    $(this).removeAttr("href");
});

//get data attribute of active image and readd href attribute
$("active image identifier selector a").attr("href", $("active image identifier selector a").data("my-url"));
试试这个,如果有帮助请告诉我。 请注意,这不是最有效的方法。可能会有更多优化的函数在链接上循环,但我认为让它工作起来是第一要务


干杯。

如果由于某种原因您不能,请在当前活动图像上尝试此功能

$("active image identifier selector a").attr("href", "link to add");
$("all images selector").not("active image identifier selector").find("a").removeAttr("href")
请注意,使用removeAttr不会禁用链接,它会完全删除链接,不确定这是否是您想要做的。只是确认一下,你想停用或删除所有链接

e、 preventDefault仅禁用链接,但不删除它

假设您激活了第二个图像,并且执行了类似$(“images a”).attr(“href”,“link to add”)的操作,您如何知道在该图像和之前的图像变为活动图像时要添加哪些链接,因为您几乎已经放弃了href属性

我建议的解决方案是将链接存储在类似

//store href in link data for each link to be deactivated
$("all images selector").not("active image identifier selector").each(function(){

    var $this = $(this);

    //get url of link
    var url = $this.attr("href");

    //store url in a data attribute for that link
    $this.data("my-url", url);

    $(this).removeAttr("href");
});

//get data attribute of active image and readd href attribute
$("active image identifier selector a").attr("href", $("active image identifier selector a").data("my-url"));
试试这个,如果有帮助请告诉我。 请注意,这不是最有效的方法。可能会有更多优化的函数在链接上循环,但我认为让它工作起来是第一要务



干杯。

$('a')。removeAttr('href')你是说谷歌不喜欢什么。你是说这不是SEO freindly吗?请在幻灯片中显示一段代码,将ypu带到下一张图像?如果你是为谷歌做的,不要。在你从JS进行更改后,机器人不会查看你的代码。有另一种方法可以实现它,但是@DavidFregoli似乎已经解释过了。:-@瓦林德·辛格是的,对搜索引擎优化不友好。这不是一个大问题,但我想把它整理一下。$('a')。removeAttr('href')你是说谷歌不喜欢什么。你是说这不是SEO freindly吗?你能在幻灯片中显示一段代码,将ypu带到下一张图片吗?如果你是为谷歌做的,不要这样做。在你从JS进行更改后,机器人不会查看你的代码。有另一种方法可以实现它,但是@DavidFregoli似乎已经解释过了。:-@瓦林德·辛格是的,对搜索引擎优化不友好。这不是一个大问题,但希望对其进行排序。上面的代码只是一个粗略的示例,感谢其他建议上面的代码只是一个粗略的示例,感谢其他建议我希望它们在不活动时完全从html中删除,然后在特定幻灯片活动时重新添加。好的,这很有意义。如果没有输入错误的话,尝试一下我上面所说的应该可以做到,但是当你在删除链接后阅读它们时,你会从哪里获得链接的来源呢?通过js添加链接会有帮助吗?而不是试图删除它们?是的,这会起作用,但我假设每个图像的链接是不同的,所以如果你有很多图像,你会有很多硬编码要做。我将编辑我的答案来说明我的意思。我实际上使用的是WordPress,因此只需获得永久链接就可以相当容易地获得链接。我希望它们在不活动时完全从html中删除,然后在特定情况下重新添加