JQuery 删除 id 不包含字符串的元素
JQuery remove elements with id not containing a string
我正在尝试在页面上实现搜索算法。
我有一个包含订单的表,每行都有一个订单,它有一个唯一的 ID。
每行的<tr>
都设置了以下 ID:
<tr class="searchable" id="bla_1">1</tr>
<tr class="searchable" id="bla_2">2</tr>
<tr class="searchable" id="notbla_3">3</tr>
<tr class="searchable" id="not_4">4</tr>
我想隐藏类可搜索的所有元素,这些元素与搜索字符串不同。最好不要只看开头。所以在上面的例子中,如果我的搜索字符串是"bla",它将显示第 1、2 和 3 行。
我还希望能够在其他容器上使用相同的功能,例如divs:
<div class="searchable" id="bla_1">1</div>
<div class="searchable" id="bla_2">2</div>
<div class="searchable" id="notbla_3">3</div>
<div class="searchable" id="not_4">4</div>
我假设我需要某种 foreach 循环,但到目前为止,我还没有找到如何做到这一点。
试试这个
var search="bla";
$('.searchable').hide();
$('.searchable[id*="' + search + '"]').show();
你想使用属性'contains'选择器。
$('.searchable[id*="' + searchString + '"]').show();
其中searchString
是变量字符串等于您要搜索的字符串。
var search; //holds the value
if(search == ""){
$('.searchable').show();
}else{
$('.searchable').hide();
$('.searchable[id*="' + search + '"]').show();
}
// Hide all elements containing bla in the id
$('.searchable[id*="bla"]').hide();
// Hide all elements not containing bla in the id
$('.searchable:not([id*="bla"])').hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="searchable" id="bla_1">1</div>
<div class="searchable" id="bla_2">2</div>
<div class="searchable" id="notbla_3">3</div>
<div class="searchable" id="not_4">4</div>
相关文章:
- 对id以某个字符串开头的元素进行计数
- 如何使用jQuery each分离字符串中的元素
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 数组中元素(字符串)的总和
- JavaScript forEach.迄今为止的字符串元素
- 试图从数组中只移除字符串元素,但无法向右循环
- 如何将主干序列化形式的所有字符串元素大写
- 如何在 JS 中将字符串元素解析为对象
- 将 JSON 数组中的字符串元素解析为整数
- 使用字符串元素列表作为 Select2 组件的源
- 从 JavaScript 数组中删除字符串元素
- 将字符串元素传递给数据键
- 使用JavaScript将每个数组字符串(元素)的某些部分加粗
- 检查javascript数组中的字符串元素
- 将数组的字符串元素与另一个数组的对象元素属性进行比较
- 如何拆分字符串数组中的每个字符串元素
- 试图使用映射将字符串元素添加到数组
- 在javascript的for循环中设置数组's字符串元素的长度为一个变量
- 在javascript中查找数组中字符串元素的最大出现次数
- 在Django中发送一个字符串元素列表