从javascript和jquery中的字符串中删除第一个匹配项
我有像这样的字符串集,很多,像,看,什么“ 当我创建这个字符串时,我还创建了带有链接元素的从javascript和jquery中的字符串中删除第一个匹配项,javascript,jquery,string,Javascript,Jquery,String,我有像这样的字符串集,很多,像,看,什么“ 当我创建这个字符串时,我还创建了带有链接元素的div <div> <a href="#">set</a> <a href="#">many</a> <a href="#">like</a> ... </div> ... 并且还可以创建带有设置的隐藏输入,许多,比如,see,what'值。。。当我们点击链接元素时,我们有一个链接字
div
<div>
<a href="#">set</a>
<a href="#">many</a>
<a href="#">like</a>
...
</div>
...
并且还可以创建带有设置的隐藏输入,许多,比如,see,what'
值。。。当我们点击链接元素时,我们有一个链接字符串(例如:set
)
如何删除字符串的第一个匹配项并将其从隐藏输入中删除
ps:我说的第一个匹配是因为一个元素可以重复var-anchors=document.getElementById('container').getElementsByTagName('a'),
var anchors = document.getElementById('container').getElementsByTagName('a'),
hiddenInput = document.getElementById('hidden');
for (var i = 0, anchorsLength = anchors.length; i < anchorsLength; i++) {
var anchor = anchors[i];
anchor.onclick = function() {
var term = anchor.innerHTML;
hiddenInput.value = hiddenInput
.value
.replace(new RegExp(term + ',\s?'), '');
}
}
hiddenInput=document.getElementById('hidden');
对于(var i=0,anchorsLength=anchors.length;i
此代码允许您单击其中一个锚定,它将删除锚定文本节点的第一次出现,以及
、
和任何可选空白字符。其中链接是对其中一个链接的引用,该字符串是对您的字符串的引用,而hidden
是对隐藏输入控件的引用,您可以执行以下操作:
link.onclick = function(e)
{
var expr = new RegExp("\b" + this.innerHTML + "\b(, ?)?");
theString = theString.replace(expr, "");
hidden.value = theString;
}
这类事情最好使用JavaScript库来完成。用原始JavaScript编写它需要很多代码。可能不工作,我输入'sad',但响应列表'sad,test'可能不工作,我输入'sad',但响应列表'sad,test'