这是我的代码
function jq(myid) {
return myid.replace(/(:|\.)/g,'\\$1');
}
var old_tag=jq($.parseJSON(response).old_tag);
$("#tagbox_"+object_type+"_"+object_id+"_tagsinput.tagsinput span.tag span:contains("+old_tag+") a").filter(function(){
...
}
基本上,第一个函数转义特殊字符以避免以下选择器中的错误。我的问题是选择器不再起作用了。它只是找不到应有的东西。打印“old_tag”,字符串是正确的。
我该如何解决这个问题?
编辑:Html示例
<form style="margin:0px">
<input id="tagbox_infodisc_discussion_198" class="tag_field" object_type="infodisc_discussion" object_id="198" owner="Infodisc" owner_id="1" cancreatetag="1" canaddtag="1" canremovetag="1" value="['abc','cde']" $type="text" style="display: none; ">
<div id="tagbox_infodisc_discussion_198_tagsinput" class="tagsinput">
<span class="tag"><span><a href="/tags/show/abc/Infodisc/1">abc</a></span><a href="#" title="Removing tag" class="cross"> x</a></span><span class="tag"><span><a href="/tags/show/cde/Infodisc/1">cde</a></span><a href="#" title="Removing tag" class="cross"> x</a></span>
<div id="tagbox_infodisc_discussion_198_addTag">
<input id="tagbox_infodisc_discussion_198_tag" value="" data-default="" style="color: rgb(102, 102, 102); " autocomplete="off">
</div>
</div>
</form>