我想不出这个问题的标题是什么,对不起!以下是我正在编写的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的输出一致!
有没有人能解释一下这种行为,以及如何纠正它?
发布于 2012-11-26 21:06:33
生成的超文本标记语言无效(只有<td>
和<th>
元素可以是<tr>
元素的子元素)。浏览器尝试从错误中恢复。结果就是您在DOM检查器中看到的内容。
始终使用a validator测试您的标记。
为了得到你想要的效果,你可能应该这样做:
<tr id="ds1">
<td>1</td>
<td>College1</td>
<td><a href="download.php?dId=1"></a></td>
</tr>
https://stackoverflow.com/questions/13565463
复制相似问题