簡體   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