Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
Javascript 为什么.prop(“type”返回“type”;“文本”;在日期时间输入上?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 为什么.prop(“type”返回“type”;“文本”;在日期时间输入上?

Javascript 为什么.prop(“type”返回“type”;“文本”;在日期时间输入上?,javascript,jquery,html,Javascript,Jquery,Html,给出了非常简单的代码: <html> <body> <input type="datetime" id="TheInput"/> <script type="text/javascript" src="./jquery-3.2.1.min.js"></script> <script type="text/javascript"> $(document).ready(function (

给出了非常简单的代码:

<html>
<body>
    <input type="datetime" id="TheInput"/>
    <script type="text/javascript" src="./jquery-3.2.1.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function (){
            alert($("#TheInput").prop("type"));
        });
    </script>
</body>
</html>

$(文档).ready(函数(){
警报($(“#输入”).prop(“类型”);
});
你会认为留言框上会写“datetime”,是吗?但显然不是,它说的是“文本”。jQuery如何以及为什么决定忽略我为该类型编写的内容?难道我不能为“type”属性编写任意类型,并看到它返回给我的消息吗?有jQuery认为某些类型应该是什么的列表吗

(顺便说一句,不要试图将其放入JSFIDLE或codepen中。出于某种原因,这两种语言都拒绝运行我的javascript。我不知道我是否不允许使用“prop”或不允许按id搜索,或者什么。)

datetime类型的输入

浏览器将其替换为文本类型的输入。这就是为什么输入的type属性是
“text”

解决方案是使用类型为
datetime local
的输入

console.log(“类型a:+document.getElementById(“a”).type”);
log(“类型b:+document.getElementById(“b”).type”)


它不是特定于jQuery的:日期时间输入的
类型
属性是
“text”
;使用
attr
将返回属性中写入的内容,而不管输入的“真实”类型是什么。实际类型将反映在属性中,对于已弃用的
datetime
类型和任何其他无效类型,它是
text