【发布时间】:2015-01-25 02:55:30
【问题描述】:
我有这个 HTML 表格,我需要查找 .has_paises 是否有文本。例如,在下面的代码中,第一个 tr 条件为真,因为 $(".has_paises").text() 应该返回 Some text 但第二个 tr 条件为假,因为相同的代码将返回空或 null 或 undefined 或任何.text() 返回。
<table id="contenedorFabricantes" style="" class="table table-condensed">
<thead>
<tr class="tableHead">
<th><input type="checkbox" name="toggleCheckboxFabricantes" id="toggleCheckboxFabricantes"></th>
<th>Fabricante</th>
<th>Dirección</th>
<th>País</th>
<th>Teléfono</th>
</tr>
</thead>
<tbody id="fabricanteBody">
<tr>
<td><input type="checkbox" value="1"></td><td>Dist1</td>
<td>Direccion</td>
<td class="has_pais" id="td-1">Some text</td>
<td>999999</td>
<td><a data-backdrop="static" data-target="#addPaisesFabricante" data-toggle="modal" id="1" class="editable-pais" href="#"><i title="" data-placement="top" data-toggle="tooltip" class="fa fa-plus-circle" data-original-title="Agregar países"></i></a></td>
</tr>
<tr>
<td><input type="checkbox" value="1"></td><td>Dist2</td>
<td>Direccion</td>
<td class="has_pais" id="td-2"></td>
<td>999999</td>
<td><a data-backdrop="static" data-target="#addPaisesFabricante" data-toggle="modal" id="2" class="editable-pais" href="#"><i title="" data-placement="top" data-toggle="tooltip" class="fa fa-plus-circle" data-original-title="Agregar países"></i></a></td>
</tr>
</tbody>
</table>
我需要在#fabricanteBody 中遍历tr 并查找是否至少有一个匹配的元素是empty 或null 或undefined 如果这是真的,那么将 boolVar 设置为真,这样我稍后会检查我的代码是真还是假,所以我想这样做:
var hasFab = $("#fabricanteBody").find(".has_pais"),
boolVar = false;
hasFab.forEach(function(value, index, array){
// check goes here and set boolVar goes here
});
由于 value 不是 jQuery 对象而是 Javascript,我如何检查当前匹配元素的值是否为空、null 或未定义并将 boolVar 设置为 true?此外,如果至少有一个 .has_paises 为空,则无需检查其余的,只需将 boolVar 设置为 true 并继续执行代码,即退出 forEach 循环。有什么帮助吗?改进我的代码的建议被接受,我是在脑海中提出的,我认为它并不完美。
【问题讨论】:
标签: javascript jquery