document.getElementsByClassName不会影响元素


document.getElementsByClassName is not affecting elements

我有以下脚本:

$i=1;
echo '<table>';
while($row=mysql_fetch_array){
  echo '<tr class="'.$i.'">';
  echo '<td>'.$row['value'].'</td>';
  echo '</tr>';
  $i++;
}
echo '</table>';
$i=1;
echo '<table>';
while($row=mysql_fetch_array){
  echo '<tr class="'.$i.'">';
  echo '<td>'.$row['value'].'</td>';
  echo '</tr>';
  $i++;
}
echo '</table>';
echo '<script>nr='.mysql_num_rows(query).'</script>';

Javascript:

$(document).ready(function(){ 
    for(i=26; i<=nr; i++){
        document.getElementsByClassName(i).style.display='none';    
    }
});

正如您可能发现的那样,我正在尝试创建一个分页脚本。首先,不,我不想要一个已经制作好的js分页脚本,我希望它单独创建它(在某些问题上被阻止的情况下,有一些帮助)。第一步是隐藏以25 tr开头的其他元素。但问题是document.getelementsbyclassname不会影响它们。。。一开始我用id来表示tr,这很有效,但只适用于第一个表(因为id必须是唯一的,在我的情况下,id的值是相同的,所以我用了class)。我不知道问题出在哪里。。。

不需要使用$i的类。请尝试使用-

echo '<tr class="row-class">';

以及jquery-

$(document).ready(function(){ 
    $('.row-class').each(function() {
        $(this).hide();
    })
});

如果需要,请添加条件。

或者无需向行中添加类。如果页面包含单个表格,则-

$(document).ready(function(){ 
    $('table tr').each(function() {
        $(this).hide();
    })
});

类名不能以数字开头

XHTML和HTML类属性值可以以数字开头吗?

你可以尝试分配类"行"+$i

echo '<tr class="row'.$i.'">';
  echo '<td>'.$row['value'].'</td>';
 echo '</tr>';

js:

 for(i=26; i<=nr; i++){
        document.getElementsByClassName('row'+i).style.display='none';    
    }