大多数现代浏览器都支持脚本标记中的ID,例如:
<script id="aParticularScript">/* ... */</script>
我问的原因是Eclipse会显示一条警告,指出“未定义的属性名称”,但是当我使用jQuery选择器获取脚本元素的其他属性时,它在Google Chrome中正常工作。 W3Schools声明script元素不支持任何标准属性(包括id属性),但我学会了不相信W3Schools。
是否可以让脚本标记有ID?
答案 0 :(得分:6)
HTML 4答案:
不,你不能,至少不是你想要有效的HTML ......
以下元素不能具有ID属性:
<base>
<head>
<html>
<meta>
<script>
<style>
<title>
可能会有更多。
这很令人困惑,因为仅查看ID /类属性的文档并没有明确说明它们不能与这些元素一起使用。您必须查看元素的DTD,以查看没有为元素定义常规属性,因此无法使用。
HTML 5答案:
默认文档类型声明HTMLElement适用于HTML中的所有元素,指定这些global attributes(包括ID属性)可用于任何元素创建,所以看起来你可以在HTML 5中执行此操作,但不能在HTML 4中执行此操作。
答案 1 :(得分:2)
使用<script>
到the validator运行id
代码作为HTML4会产生此错误:
错误第12行,第12列:没有属性“ID”
<script>
的{{3}}未提及HTML4 specification(包括class
和id
)对此元素有效:
18.2.1 The SCRIPT element
<!ELEMENT SCRIPT - - %Script; -- script statements -->
<!ATTLIST SCRIPT
charset %Charset; #IMPLIED -- char encoding of linked resource --
type %ContentType; #REQUIRED -- content type of script language --
src %URI; #IMPLIED -- URI for an external script --
defer (defer) #IMPLIED -- UA may defer execution of script --
>
Start tag: required, End tag: required
根据coreattrs,<script>
可能包含id
,其中包含{{1}}。在current HTML5 spec次传递中进行测试。所以据我所知: