1

この問題のタイトルがどうあるべきか思いつきませんでした。申し訳ありません。私が書いているphpページのコードは次のとおりです。

    echo '<table>';

    $conn = dbconnect();
    $query = 'SELECT * FROM validUploads';
    $result = @$conn->query($query);
    if($result)
    {   
        while(true)
        {   $data = $result->fetch_assoc();
            if(!$data)
            {   break;
            }
            else
            {   $id = $data['id'];
                $college = $data['college'];

                echo<<<__REG_DATA
                    <tr>
                        <a name="ds{$id}"></a>
                        <div id="ds{$id}">
                            <td>{$id}</td>
                            <td>{$college}</td>
                            <td><a href="download.php?dId={$id}"></a></td>
                        </div>
                    </tr>
__REG_DATA;
            }
        }
    }

echo '</table>';

ブラウザーで実行すると、ソース コードは次のように出力された詳細を適切に表示します。

<tr>
    <a name="ds1"></a>
    <div id="ds1">
    <td>1</td>
    <td>College1</td>
    <td><a href="download.php?dId=1"></a></td>
</tr>
.
.

しかし、firebug を使用して 7 行目の要素を検査すると、次のように表示されます。

<div id="ds1"> <a name="ds1"></a> </div>
<div id="ds2"> <a name="ds2"></a> </div>
<table>
<tr>
    <td>1</td>
    <td>College1</td>
    <td><a href="download.php?dId=1"></a></td>
</tr>
<tr>
    <td>2</td>
    <td>College2</td>
    <td><a href="download.php?dId=2"></a></td>
</tr>

そして、css3を使用してテーブル内のアンカーされた行を強調表示しようとしているので、これは問題を引き起こしています

:target
{   ....
}

そして、はい、URL を要求すると: http://mysite.com/index.php#ds2 テーブルの一番上までスクロールし、行番号 2 までスクロールしません。これは、inspect-element の出力と一致しています!

誰かがこの動作とそれを修正する方法を説明できますか?

4

1 に答える 1