![](/img/trans.png)
[英]Remove any text before the last iteration of a '/' character with javascript / jquery
[英]How do I use Javascript to remove text before and including the last instance of a character in multiple elements?
我是Java的新手,所以我正在竭尽全力地学习,但是我对它的工作原理有所了解。 我有看起来像这样的html:
<div id="myDiv">
<p>string/string/Red</p>
<p>string/string/Green</p>
<p>string/string/Blue</p>
</div>
我想使用Javascript删除“ /”的最后一个实例之前和包括的所有文本,如下所示:
<div id="myDiv">
<p>Red</p>
<p>Green</p>
<p>Blue</p>
</div>
从我所看到的示例中,我相信我需要以某种方式使用substring()和lastIndexOf(),但是诚然,我对Javascript的了解不足,无法理解它应该如何工作。 这是我正在使用的代码,但是我不知道如何合并substring()和lastIndexOf()以获得我想要的东西:
var x = document.getElementById("myDIV");
var y = x.getElementsByTagName("P");
var i;
for (i = 0; i < y.length; i++) {
y[i].innerHTML = // WHAT GOES HERE?;
}
谁能帮助新手?
我认为您可以使用拆分和弹出https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/split来实现
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/pop
for (i = 0; i < y.length; i++) {
y[i].innerHTML = y[i].innerHTML.split('/').pop()
}
对于每个节点,将文本拆分为一个数组并获取最后一项:
var ps = document.querySelectorAll('#myDiv p'), i; for (i = 0; i < ps.length; ++i) { ps[i].textContent = ps[i].textContent.split("/").pop(); }
<div id="myDiv"> <p>string/string/Red</p> <p>string/string/Green</p> <p>string/string/Blue</p> </div>
您可以使用正则表达式来做到这一点:
x.innerHTML = x.innerHTML.replace(/^.*\//, '');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.