【问题标题】:remove a PART of an Anchor Text with jquery or javascript使用 jquery 或 javascript 删除锚文本的一部分
【发布时间】:2011-01-26 06:20:43
【问题描述】:

我正在尝试删除或更改锚文本的部分

我的锚看起来像这样:

<a href="http://something.com">Model 1234 motorbike</a>

我想删除锚文本的“摩托车”部分,最终得到:

<a href="http://something.com">Model 1234</a>

有人知道怎么做吗?

谢谢

更新:

锚链接来自不同的网站。所以我无法控制html。我只是想从发送的锚点中删除“摩托车”部分,所以它不会在我的网页上显示 100 次。

@Shiv Kumar:是的,“摩托车”始终是锚文本的最后一部分。 @Phrogz:脚本正在将可用模型发送到我的站点。锚文本的最后一部分始终是“motorbike”,第一部分发生变化:型号 1234、型号 4321 等。

但我会先尝试一下代码。

感谢大家的快速回复。

非常感谢。

埃里克

【问题讨论】:

  • 它的尽头是摩托车?
  • 您如何确定要删除“摩托车”。是你总是删除最后一个词吗?还是摩托车这个词一直存在?。
  • ...还是总是有“Model xxx”(其中 xxx 是一些数字)并且您想保留它?
  • @amphetamahine 如果您的评论与我的编辑有关。是的,但是范式不同,重要的是不要将两者混为一谈(至少在可能的情况下)。

标签: javascript jquery


【解决方案1】:

a) 修改发送到浏览器的 HTML,不要尝试在客户端进行修补。如果用户关闭了 JavaScript 怎么办?

b)

// Get rid of the last word in the text for all anchors referencing
// the domain something.com
$('a[href*="something.com"]').html(function(oldHTML){
  return oldHTML.replace(/\s\S+$/,'');
});

// Keep only "Model xxxx"
$('a[href*="something.com"]').html(function(oldHTML){
  return oldHTML.replace( /^(Model \d+).+/, '$1' );
});

编辑:从每个链接中专门删除“摩托车”一词:

$('a').html(function(oldHTML){
  return oldHTML.replace( ' motorbike', '' );
});

【讨论】:

  • 同意,如果可能的话,应该在服务器端解决这个问题......然而,现在大多数搜索引擎机器人都可能关闭 JavaScript,到处都是 Facebook 人......其余的 - 它不会影响功能,所以它仍然可以接受......顺便说一句:w3schools.com/browsers/browsers_stats.asp
【解决方案2】:

添加一个类名来过滤链接:

   $(".with_motorbike_txt").each(function() {
        var cur_txt = $(this).html();
        $(this).html(substring(0, cur_txt.indexOf('motorbike'));
    });

【讨论】:

    猜你喜欢
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2012-10-03
    • 2014-09-15
    • 2018-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多