在我的网页上,我为页面上呈现的每条记录输出jQuery,如下所示:
if ($.trim($('#attachment<%# Eval("Id")%> .content').html()) == '') {
$('#attachmentClick<%# Eval("Id")%>').hide();
}
请注意,元素ID上有服务器绑定,以确保每条记录都处理了jQuery。有没有办法在页面上只通过嵌入条件语句执行一次,例如“for all $(this.ID + ' .attachmentsClick')
,仅当$('.attachments.content').html()
trimmed为空白时才隐藏”?
答案 0 :(得分:6)
您可以使用jQuery's filter function将潜在元素集合减少为具有空内容的元素,然后隐藏它们:
$('.attachmentsClick').filter(function(){
return $.trim($(this).find('.content').html()) == '';
}).hide();
这假定您将“attachmentsClick”类提供给所有行元素。它不需要行元素的ID。只需在你的内容加载后运行它,它将隐藏所有带有“附件点击”类的元素,这些元素的子类具有“内容”类,在修剪时为空。
您的HTML可能如下所示:
<div class="attachmentsClick"><!-- this one will be hidden -->
<div class="content"></div>
</div>
<div class="attachmentsClick"><!-- this one will be hidden too -->
<div class="content"> </div>
</div>
<div class="attachmentsClick"><!-- this one will NOT be hidden -->
<div class="content"><p>some content<p></div>
</div>
答案 1 :(得分:1)
您可以使用.each()
。 .someCommonClass
应该是每个有ID的人。
$('.someCommonClass').each(function(i, e) {
var $e = $(e);
if ($.trim($('.content', $e).html()) == '')
$e.hide();
});