我可以将 <PRE> 标签嵌入到 <P> 标签中吗?
Can I embed <PRE> tag into <P> tag?
当我只使用一个 <p>
标签时,为什么 <p>
有两个元素?
如果用<center>
标签代替<pre>
,结果是一样的。
如果<b>
标签代替<pre>
,a.length的结果是1。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p><pre>name: id:</pre></p>
<script>
a = document.getElementsByTagName("p");
document.write("LEN:"+a.length+"<BR>");
for(i=0;i<a.length;i++){
document.write(a[i].innerHTML+"<BR>");
}
</script>
<pre>
不能在 <p>
内。因此,当 HTML 解析器在 <p>
中遇到 <pre>
时,它将首先关闭 <p>
。然后它遇到 </p>
,一个没有开始标签的结束标签,并假定您想要 <p>
。生成的结构是:
<p></p>
<pre>...</pre>
<p></p>
你怎么知道 <pre>
不能在 <p>
里面?请参阅 MDN, or even better in HTML spec 上的 <p>
,并注意 "Permitted content: Phrasing content"。查看 "phrasing content" 是什么,可以看到它不包括 <pre>
.
当我只使用一个 <p>
标签时,为什么 <p>
有两个元素?
如果用<center>
标签代替<pre>
,结果是一样的。
如果<b>
标签代替<pre>
,a.length的结果是1。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p><pre>name: id:</pre></p>
<script>
a = document.getElementsByTagName("p");
document.write("LEN:"+a.length+"<BR>");
for(i=0;i<a.length;i++){
document.write(a[i].innerHTML+"<BR>");
}
</script>
<pre>
不能在 <p>
内。因此,当 HTML 解析器在 <p>
中遇到 <pre>
时,它将首先关闭 <p>
。然后它遇到 </p>
,一个没有开始标签的结束标签,并假定您想要 <p>
。生成的结构是:
<p></p>
<pre>...</pre>
<p></p>
你怎么知道 <pre>
不能在 <p>
里面?请参阅 MDN, or even better in HTML spec 上的 <p>
,并注意 "Permitted content: Phrasing content"。查看 "phrasing content" 是什么,可以看到它不包括 <pre>
.