如何删除 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>
我的目标是修剪每个 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>
$('.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>