如果ALL td具有某个类,如何将类添加到tr?

时间:2016-05-07 13:29:29

标签: php jquery

我一直在尝试使用PHP创建一个流行语宾果游戏。我在某个网站上找到的25个单词的数组中为关键字添加了一个特定的类。现在我只想在所有单元格都有这个类的时候使用jquery来设置行的样式,但是我无法弄清楚这是我现在所拥有的。

$('td.check').parent('tr').addClass('bingo');

PHP:

    function bingo() {

$buzzwords = array(
  "kaos",
  "mega",
  "super",
  "kris",
  "tragedi",
  "döds",
  "succé",
  "avslöjar",
  "chocken",
  "terror",
  "attack",
  "mardröm",
  "rekord",
  "galen",
  "knark",
  "attentat",
  "extrem",
  "kollaps",
  "kränkt",
  "skräll",
  "myten",
  "problem",
  "varning",
  "extra",
  "besked"
  );

shuffle($buzzwords);

$inAb = array();


$bingocard = "<table class='tabell'>";
$bingocard .= "<thead><tr>";
$bingocard .= "<th>B</th>
      <th>I</th><th>N</th>
      <th>G</th><th>O</th>";
$bingocard .= "</tr></thead>";
$bingocard .= "<tbody>";
$bingocard .= "<tr>";

for($cell=0; $cell<25; $cell++)
  {

    $rowend = ($cell + 1) % 5;
    $homepage = file_get_contents('http://www.example.com/');
        $value = $buzzwords[$cell];
        $antal = substr_count($homepage, $buzzwords[$cell]);
        if ($antal > 0) {
    $bingocard .= "<td class='check' style='color: red;'>" 
     . $buzzwords[$cell] . "</td>";
    array_push($inAb,$buzzwords[$cell]);
        }
    else {
    $bingocard .= "<td>"
    . $buzzwords[$cell] . "</td>";  
    }

    if($rowend == 0 && $cell < 24) {
      $bingocard .= "</tr><tr>";
    }
  }

$bingocard .= "</tr>";
$bingocard .= "</tbody>";
$bingocard .= "</table>";
echo $bingocard;
}

bingo();

3 个答案:

答案 0 :(得分:2)

检查td的子tr的数量是相同的数量是td的数量check的数量tr同一个if ( $("tr").find("td").length == $("tr").find("td.check").length ) { $("tr").addClass( "check" ); } 的孩子:

each

此外,使用tr来测试表.tabell的每个$( ".tabell" ).find( "tr" ).each(function(idx) { var tr$ = $( this ); if ( tr$.find("td").length == tr$.find("td.check").length ) { tr$.addClass( "check" ); } });

tr

<强>更新: 由于th td没有td.check(0)而没有$( ".tabell tbody" ).find( "tr" )` (0也是如此),因此您应该以某种方式跳过第一行。也许像是

0 < $("tr").find("td").length && $("tr").find("td").length == $("tr").find("td.check").length

target_link_libraries(glew PUBLIC opengl32 glu32)

答案 1 :(得分:1)

白色很容易:

$("tr").filter(function() { 
          return ! $(this).children("td").not(".check").length
        }).addClass("check")

demo

答案 2 :(得分:0)

 $("table tr").each(function() {
  var rowCells = $(this).children("td");
  var rowLength = rowCells.length;
  var checkedCells = 0;
  $.each(rowCells,function(v) {
    if($(v).hasClass("check")) {
    checkedCells++;
    }
  });
  if(checkedCells==rowLength) {
  $(this).addClass('bingo');
  }
});