javascript - <TABLE> 中可以有 <SCRIPT> 标签吗?

标签 javascript html doctype script-tag

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

我有什么办法可以做到这一点,或者只是禁止保留这样的脚本:

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

(这可能更好吗?):

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

更改文档类型?你怎么看?

最佳答案

SCRIPT TR 中不允许因为 TR 的内容模型定义为 (TH|TD)+:

<!ELEMENT TR       - O (TH|TD)+        -- table row -->

这意味着 THTD 的一个或多个元素。

但是 SCRIPTTD 中是允许的。查看definition of TD :

<!ELEMENT (TH|TD)  - O (%flow;)*       -- table header cell, table data cell-->

哪里parameter entity flow定义为:

<!ENTITY % flow "%block; | %inline;">

inline定义为:

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

special定义为:

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

关于javascript - <TABLE> 中可以有 <SCRIPT> 标签吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3658279/

相关文章:

javascript - 如何检查每个输入属性(如果类型为 radio 并已选中)

javascript - JS 检查有效的日期格式

javascript - 使用调整浏览器窗口大小的条件更改 img src

javascript - 正则表达式匹配特定字符串且不超过两个斜杠

html - CSS 固定 header 仅在元素透明时才与元素重叠

jsf - javax.faces.view.facelets.FaceletException : Error Parsing/template. xhtml : The entity "nbsp" was referenced, 但未声明

html - 我如何确定我的 DOCTYPE 和元数据正在推送哪种浏览器和文档模式?

html - 为什么不允许使用此 Doctype "DIV"?

javascript - React JS removeEventListener 未触发

javascript - 我需要确保在使用 RequireJS 加载依赖项之前不会加载插件