Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从javascript和jquery中的字符串中删除第一个匹配项_Javascript_Jquery_String - Fatal编程技术网

从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'