Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可以给我<;脚本>;标记内部<;表>;?_Javascript_Html_Doctype_Script Tag - Fatal编程技术网

Javascript 可以给我<;脚本>;标记内部<;表>;?

Javascript 可以给我<;脚本>;标记内部<;表>;?,javascript,html,doctype,script-tag,Javascript,Html,Doctype,Script Tag,我在一个表中添加了一个标记,因为PHP在表中编写了一个代码,将内容添加到先前创建的Javascript数组中。但是,我得到一个验证错误(4.01严格) 我有没有办法做到这一点,或者干脆禁止保存这样的脚本: <TABLE> <TR> <SCRIPT></SCRIPT> <TD> </TD> </TR> </TABLE> (这可能更好吗?)

我在一个表中添加了一个标记,因为PHP在表中编写了一个代码,将内容添加到先前创建的Javascript数组中。但是,我得到一个验证错误(4.01严格)

我有没有办法做到这一点,或者干脆禁止保存这样的脚本:

<TABLE>
    <TR>
      <SCRIPT></SCRIPT>
        <TD>
        </TD>
    </TR>
</TABLE>

(这可能更好吗?)


更改doctype?您认为呢?

是不允许的,因为
TR
的内容模型被定义为
(TH|TD)+

其中,定义为:

<!ENTITY % flow "%block; | %inline;">
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">

定义为:

<!ENTITY % flow "%block; | %inline;">
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">

定义为:

<!ENTITY % special
   "A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">

自从HTML5发布以来,在大多数类型的表元素(包括
tr
s)中使用
是合法的

在,您可以看到、、和的内容模型都包含“流内容”或“一个或多个脚本支持元素”。分别在和处,我们看到
script
s被定义为流内容和脚本支持元素,因此允许在这些元素中的任何一个中使用

值得注意的例外是s(只能包含
col
s和
template
s)和s(不能包含内容)。您不能将
脚本
放在这两个脚本中

这意味着询问者的示例HTML中包含
tr

<TABLE>
    <TR>
      <SCRIPT></SCRIPT>
        <TD>
        </TD>
    </TR>
</TABLE>

。。。现在有效,您可以在确认


,声明允许在
td
s中使用
script
s,但不允许
tr
s,这对于HTML4是正确的,但现在已经过时了。

我认为您至少应该使用XHTML。HTML4与IE6非常相似。@leppie使用XHTML时,实际上不应该有内联脚本块。如果到处都是内联脚本,那么假装HTML是XML只会导致额外的问题。@leppie:XHTML也是一个正在消亡的标准;HTML5是未来。我有大量的内在事件,所以XML不适合我yet@Andreas博尼尼:HTML5的最终定稿日期是2018年,我可以等。这个答案已经过时了<代码>脚本s inside
tr
s自HTML5起是合法的。我已经贴了我自己的。
<TABLE>
    <TR>
      <SCRIPT></SCRIPT>
        <TD>
        </TD>
    </TR>
</TABLE>