繁体   English   中英

如果找不到数据,则将jQuery addclass添加到另一个div(但不是父类)

[英]JQuery addclass to another div (but not parent) if no data is found

如果没有返回数据,我可以将一个类添加到报表所在的主表中。

$('#report-area table td:contains("Sorry, your search did not return any data")').parents('#report-area').addClass('no-report-data')

但是,我还有另一个div区域"#report-footer"但它不在#report-area 我也想将.no-report-data类也添加到"#report-footer" ,但是在这种情况下,我认为.parents选择器不起作用。 我可以使用另一个选择器吗?

ID属性是每页唯一的,因此您可以这样说:

$('#report-footer').addClass('no-report-data');

您也可以完全跳过parents ,并同时做两个:

if($('#report-area table td:contains("Sorry, your search did not return any data")').length)
    $('#report-area, #report-footer').addClass('no-report-data');

我认为这可能有效

var uglySelector = 'table td:contains("Sorry, your search did not return any data")';
$('#reportArea:has(#report-area ' + uglySelector +'), #report-footer ' + uglySelector).addClass('no-report-data');

我建议您避免使用冗长的选择器(“ table td:contains ...”),当您编写消息“ Sorry ...”消息时,只需在该td中添加一个类,以便以后区分它。

这样的事情怎么样? 这不是真正的性感,但应该可以...

var $noData = $('#report-area table td:contains("Sorry, your search did not return any data")').parents('#reportArea');

if ($noData.length)
{
  $noData.addClass('no-report-data');
  $("#report-footer").addClass('no-report-data');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM