如何检查表中所有行的value1
值,并返回value1为null的所有行?
<? foreach ( $timelineaspects as $a ) { ?>
<table id ='transaction_events' class="table-condensed ">
<tr class ="selector " value1= "<?=$a['value1']?>" >
..........................
</tr>
<? } ?>
下面是jquery片段,但它没有返回空值行。
var events = $("#transaction_events tr").each(function () {
return $(this).find('value1').val() == ''
}).closest("tr");
events.hide();
答案 0 :(得分:1)
虽然value1
tr
不是attr
代码的原生属性,但您应使用jQuery
的{{1}}方法。
您可以访问自定义属性的方式如下:
$('#transaction_events tr').each(
function() {
if ( $(this).attr('value1') === '' ) {
// Do stuff here
}
}
);
此外,最好在data-
属性之前使用前缀value1
,以便符合HTML5标准。这样,tr
标记应该变成:
<tr class ="selector " data-value1= "<?=$a['value1']?>" >
并且属性调用它将变为:
if ( $(this).attr('data-value1') === '' ) {
// Do stuff here
}
此外,如果您在脚本<?=$a['value1']?>
上打印出null
字符串,则必须将条件检查从=== ''
更改为=== 'null'
最后,如果您使用data-
前缀跟踪我的消息,您还可以使用方法.data()
访问您的属性。在你的情况下将是这样的:
$('#transaction_events tr').each(
function() {
if ( $(this).data('value1') === '' ) {
// Do stuff here
}
}
);
我想这是&#34的答案;我怎样才能返回行&#34;:
var nullRows = $( '#transaction_events tr[value1="null"]' );
// nullRows.remove();
// nullRows.hide();
// nullRows.attr('value1', 'new value');
// what ever you like ....
此外,根据我的预览代码,您可以通过执行以下修改来隐藏行:
$('#transaction_events tr').each(
function() {
if ( $(this).data('value1') === 'null' ) {
$(this).hide();
}
}
);
这两个选项都应该有用。