尝试将html转换为xhtml,但当我将我的大于号更改为>
时,我的if语句不再起作用。与&
和<
符号相同的故事。 Cdata也不起作用。
function length(elem){
var input = elem.value;
if(input.length > 8){
return true;
}
else{
alert("Please enter equal to or more than 8 characters for username");
return false;
}
}
答案 0 :(得分:2)
简单的解决方案:不要使用XHTML。在大多数情况下,它比值得多麻烦。
失败:将JS保存在外部文件中并通过src
加载。
如果不这样做,请参阅the compatibility guidelines以编写XHTML,然后将其视为HTML。
答案 1 :(得分:0)
没有理由在HTML,XHTML或XML中“转义”“&gt;”字符,除非您喜欢使用“&lt;”进行对称,这通常需要转义。
在XHTML中,script
的内容被视为#PCDATA
,这意味着实体引用被识别。所以>
可以,但这仅适用于真正将文档处理为XHTML的浏览器;在实践中,您需要声明XML内容类型并接受旧版IE将阻塞它的事实。显然,你没有这样做,所以实际上HTML规则适用,script
内容被解析为纯文本,浏览器的JavaScript解释器实际上是>
和呕吐。在HTML模式下,无论doctype似乎在说什么,CDATA
部分都只是凌乱的数据。
正如@Quentin建议的那样,不要做XHTML。如果您实际上需要使用XHTML,请使用外部脚本。