如果在 keyup 的文本输入字段中找到某个术语,我有一个脚本,可以将一个类添加/删除到两个元素,并显示/隐藏第三个元素。有问题的三个元素是跨度、文本输入和 div。但是我有五组,我希望能够为所有五组只编写一次脚本,但它只影响当前的三个元素集。我尝试使用带有选择器的开头,但它将更改应用于所有五组。有没有办法让它仅在选择器的后缀匹配时应用更改?
这些集合都有以“base1”或“base2”等结尾的 ID,最多五个。这是当前脚本:
$('input[id^=base]').keyup(function() {
var str = $('input[id^=base]').val();
var i = $('input[id^=base]');
var s = $('span[id^=ssfa-abspath-base]');
var e = $('div[id^=ssfa-error-base]');
if (/wp-admin/i.test(str) || /wp-includes/i.test(str)) {
$(i).addClass('ssfa-error');
$(s).addClass('ssfa-error');
$(e).show(600);
}
else{
$(i).removeClass('ssfa-error');
$(s).removeClass('ssfa-error');
$(e).hide(600);
}
然后html基本上就是:span1 > input1 > div1 <br> span2 > input2 > div2 <br>
等。
编辑
为了更清楚:
设置 1:
<span id=something-base1></span><input id=base1></input><div id=something-else-base1></div>
第 2 组:
<span id=something-base2></span><input id=base2></input><div id=something-else-base2></div>
ETC
我只想编写脚本一次,而不是五次,每组一次。为此,我需要它根据后缀对它们进行分组,因此它仅将类更改应用于当前集(在文本输入中找到“wp-admin”或“wp-includes”的匹配值。