Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/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
jQuery检查doctype 如果doctype为 //做点什么 其他的 //做点什么_Jquery_Doctype - Fatal编程技术网

jQuery检查doctype 如果doctype为 //做点什么 其他的 //做点什么

jQuery检查doctype 如果doctype为 //做点什么 其他的 //做点什么,jquery,doctype,Jquery,Doctype,怎么做 谢谢。您可以使用该对象来检查特定的浏览器功能(例如BoxModel)并对其进行操作。好的,我在IE、Chrome、Firefox和Opera中测试后回来了。IE将为您提供完整的doctype,其中包含以下代码: If doctype is <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> // do something else // do something 不幸的是,这可能是

怎么做


谢谢。

您可以使用该对象来检查特定的浏览器功能(例如BoxModel)并对其进行操作。

好的,我在IE、Chrome、Firefox和Opera中测试后回来了。IE将为您提供完整的doctype,其中包含以下代码:

If doctype is <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    // do something
else 
    // do something
不幸的是,这可能是错误的,因为Chrome、Firefox和Opera为
nodeValue
返回
null
。由于它们都不支持
outerHTML
,因此我想不出一种方法来获取完整的doctype,但您可以获取单独的部分:

var doctype = document.documentElement.previousSibling.nodeValue;
// -> DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
然而,这在IE中不起作用,但解析这些内容也不会太困难。您可以使用
if
语句检查
nodeValue
是否为
null
,然后返回到检查
systemId
publicId

用于运行测试的脚本:

您可以尝试:

var doc=$(“DOCTYPE”)

尝试使用属性“this.document.doctype”
如果未声明,结果将为null,否则,结果将是具有doctype的对象。

document.doctype
document.firstChild
似乎都返回doctype,但我不知道它们的支持程度如何。

检查实际功能(而不是公布的功能)这确实是保持头脑清醒的唯一方法。出于好奇:试试
$(document.sibbins()->ups@jAndy:我在Chrome中出错
$(document.documentElement).sides()
没有错误,但是结果的头部没有包含doctype。我也收到一个错误,那就是“ups”部分。要么雷西格先生忘了检查,要么他只是认为这种方法毫无用处,没有人会尝试:)@jAndy:我认为这可能是两者的结合,他可能没有想到。这不起作用。使用
$('DOCTYPE')
始终返回
[]
,并正确包含感叹号,即写入
$('!DOCTYPE')
,会导致语法错误:
错误:语法错误,无法识别的表达式:!DOCTYPE
 var doctype = document.documentElement.previousSibling;

 console.log(doctype.systemId)
 // -> http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd

 console.log(doctype.publicId)
 // -> -//W3C//DTD XHTML 1.0 Strict//EN