使用 JQuery 确定表是否包含具有特定内容的行
Using JQuery to determine if a table contains a row with specific content
我有这个html表(大大简化了以保护无辜者)...
<table id="codeList">
<thead>
<tr>
<th>Code</th>
</tr>
</thead>
<tbody>
<tr>
<td>Code1 <input type="hidden" name="code1" value="123"/></td>
</tr>
<tr>
<td>Code2 <input type="hidden" name="code2" value="456"/></td>
</tr>
<tr>
<td>Code3 <input type="hidden" name="code3" value="789"/></td>
</tr>
</tbody>
。我正在尝试在 javascript 方法中确定代码是否已经在表中......
if (!$('#codeList >tbody').is( ":contains('456')")) {
$("#codeList > tbody:last").append("<tr>" +
"<td> Code2 <input type='hidden' name='code2' value='456'/></td>" +
"</tr>");
}
。这是行不通的。 基本上,我需要一个 JQuery 表达式,它可以搜索表的行,检查每个隐藏字段的值以查看它是否已经存在并返回 true/false,或者至少出于 javascript 条件的目的表现得像真/假。 这与我看到的大多数方案略有不同,我需要确定行是否存在,然后对表执行操作。 大多数人希望选择确实存在的行,然后对它们执行操作。
不要对属性值使用 :contains
,请使用属性等于选择器:
if (!$('#codeList input[value="456"]').length) {
// do something
}
也就是说,选择具有该值的任何输入,这些输入是#codeList
的后代,如果没有找到,则.length
将为 0...
if (!$("#codeList input[value='456']")[0]) {
$("#codeList > tbody:last").append("<tr>" +
"<td> Code2 <input type='hidden' name='code2' value='456'/></td>" +
"</tr>");
}
if (!$('#codeList input[value="456"]').length) {
$("#codeList > tbody:last").append("<tr>" +
"<td> Code2 <input type='hidden' name='code2' value='456'/></td>" +
"</tr>");
}
相关文章:
- php文件中包含的jquery文件在服务器上不起作用
- 在包含带有jquery或js的html的变量中禁用change属性
- 如何在default.aspx中包含外部jQuery文件
- 从 SSH 服务器获取 JSON 数据,其中包含 Javascript/Jquery 中的 url
- PHP 包含在 jQuery next() 冲突中
- 在 标记中包含 JavaScript/jQuery 对象数据
- 母版页中包含的jQuery文件对于继承同一母版页的.aspx页不可访问
- 当放置在jQuery代码下时,不正确包含的jQuery会阻止普通javascript执行
- 如何将ReactDOM包含在jquery中
- 不包含使用jquery
- PHP:检测字符串是否包含JavaScript/jQuery代码,并删除这部分代码
- Html包含在jQuery中
- 如何将php文件中的值包含到jQuery中,并将其放入span元素中
- 如果另一个元素包含带jQuery的字符串,则隐藏特定元素
- 如何使用“;以“;以及“;包含“;jquery的一个选择器中的选择器
- 如何在HTML中包含外部jQuery文件
- 包含在 jquery 选择器中的 Rangy 范围
- 如何将其包含在Jquery灯箱或对话框中
- 查找包含文本JQuery的表行索引
- 如何对包含 DOM/jquery 选择器的 Angular 1 控制器进行单元测试