我有一个名为Reservation.xhtml的文件,在其中,我有一个脚本标签,其中调用外部js文件.Reservation.xhtml包含我从网站下载的表单以及我保存的javascript进入“validate.js”
<script src="validate.js" type="text/javascript"></script>
当使用Reservation.xhtml时,validate.js中的函数没有被调用,但当我将Reservation.xhtml的扩展名更改为Reservation.html时。表单工作正常..所以任何人都可以告诉我为什么验证.js在Reservation.html中工作,而不在Reservation.xhtml中。请建议我如何使它在Reservation.xhtml中工作
答案 0 :(得分:1)
根据my tests,您正在做的事情没有任何问题。
我创建了这样的文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/ xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Strict document</title>
</head>
<body>
<p>This is a strict XHTML document.</p>
<div id="validate" style="color:red"><tt>validate.js</tt> has not been called!</div>
<script src="validate.js" type="text/javascript"></script>
</body>
</html>
链接脚本会改变div的innerHTML和样式 - 它可以在Firefox中使用。
现在,虽然文件扩展名和doctype似乎无关紧要,但有些事情可以做到
具体来说,tagName
是HTMLElement
属性,在HTML和XHTML中有所不同:
在XHTML(或任何其他XML格式)中,&#34; span&#34;会被警告。在HTML中,&#34; SPAN&#34;会被警告。 - MDN
这可能会导致您的脚本无法执行某些操作。