如何删除 Javascript 中 link 的第一个字符

How to remove the first character of an link in Javascript

我的目标是修剪每个 link 文本的第一个字符。

<div class="item">
  <div>
    <a href="">1One</a>
  </div>
</div>

<div class="item">
  <div>
    <a href="">2Two</a>
  </div>
</div>

我试过简单的 substring 和 slice:

$('.item div a').substring(1);
$('.item div a').slice(1);

但经过一些摆弄后,我还没有让它工作。然后我尝试使用 .text(),但它会收集每个 link 的所有输出并替换它们,而不是单独替换它们。这使得最终结果是所有 link 文本都相同。

var input = $('.item div a').text();
var output = input.substring(1);

$('.item div a').text(output);

除了使用 .substring() 和 .slice() 之外,还有其他方法可以让它工作吗? (此外,对于这种情况,我无法更改原始 HTML)

这是你需要的吗?

[...document.querySelectorAll('.item div a')].forEach(a=>
a.innerHTML=a.innerHTML.substring(1))
  
<div class="item">
  <div>
    <a href="">1One</a>
  </div>
</div>

<div class="item">
  <div>
    <a href="">2Two</a>
  </div>
</div>
和 jquery 版本:

$('.item div a').each(function(){
    $(this).text($(this).text().substring(1));
});

var links = document.getElementsByTagName('a');

for(let i = 0;i<links.length;i++){
   var string = links[i].innerHTML;
   string=string.substring(1);
   console.log(string);
}
<div class="item">
  <div>
    <a href="">1One</a>
  </div>
</div>

<div class="item">
  <div>
    <a href="">2Two</a>
  </div>
</div>

是这样的吗?

$(function() {

  $("a").each((idx,el) => el.innerHTML = el.innerHTML.substring(1));

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="item">
  <div>
    <a href="">1One</a>
  </div>
</div>

<div class="item">
  <div>
    <a href="">2Two</a>
  </div>
</div>

使用text(function)迭代每个实例。

您遇到的问题是 jQuery slice() 用于过滤 $(selector) 集合,没有 jQuery substring() 方法

$('.item a').text((i, curr) => curr.slice(1))
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="item">
  <div>
    <a href="">1One</a>
  </div>
</div>

<div class="item">
  <div>
    <a href="">2Two</a>
  </div>
</div>