检测浏览器对HTML5新input类型的支持
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了检测浏览器对HTML5新input类型的支持,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2048字,纯文字阅读大概需要3分钟。
内容图文
HTML5新增加了很多input元素类型,比如color,date,datetime,datetime-local,email,month,number,range,search,tel,time,url,week等。
通过以下方法可以检测浏览器是否支持这些新的input类型:
var i = document.createElement(‘input‘);
i.setAttribute(‘type‘, ‘date‘);
//浏览器不支持date类型
if(i.type == ‘text‘){
}
这里为新添加的input元素设置type特性(attribute)为date,如果浏览器支持date类型,则其对应的dom对象的type属性(property)会设置为date,否则会设置为text,这里一定要注意”特性(attribute)”和”属性(property)”的区别。attribute是标签的特性,而property是标签对应的DOM对象的属性。
所以,即使浏览器不支持新的input类型,虽然其DOM对象的type属性被设置为text,但其标签的type特性仍然是原来设置的值,对上面这个栗子来说就是date
特别注意:
DOM对象属性(property)与HTML标签特性(attribute)
HTML中property与attribute是极易混淆的两个概念。大多数时候这两个单词都翻译为“属性”,为了区分二者,一般将property翻译为”属性”,attribute翻译为”特性”。
每一个HTML标签(tag)都对应一个DOM接口HTMLXxxElement,比如Span标签对应的是HTMLSpanElement。这些标签的DOM接口都继承自HTMLElement接口,而HTMLElement又继承自Element。我们知道所有的标签都是一个元素结点,因此Element接口又继承自Node接口。其实HTML文档树中的所有东西都是结点,只不过有不同的结点类型而已。
property就是DOM对象的属性,就像普通的javascript对象的属性一样一样的,因为DOM对象就是一个地道的javascript对象,也有自己的原型链。
而attribute则是HTML标签的特性,比如
<div
id
=
"div1"
title=
"title1"
>
test
<div>
这里id和title是HTML标签div的特性,虽然对应的DOM对象HTMLDivElement也有这两个属性,但它们却是完全不一样的东西。有些特性与属性是同步的。
HTML标签的attribute以类数组的形式存储在对应DOM对象的属性attributes中,attributes属性的类型为NamedNodeMap对象。
DOM对象提供了方法setAttribute,getAttribute和removeAttribute来操纵HTML标签的特性。
DOMString getAttribute(
in
DOMString name);
void setAttribute(
in
DOMString name,
in
DOMString value) raises(DOMException);
HTML标签attribute的名字和值都必须为字符串类型,而DOM对象的property没有此限制,可以是任何类型。
有些HTML标签的attribute有对应的DOM对象property,但它们的取值却不一定是相同的。一般来说相对应的attribute与property其名字是一样的,但是class特性有所不同,因为class在javascript中为关键字,所以其所对应的property名字为className。
有些简单的特性,比如id,两者的取值是一样的。
var id1=elem.
id
;
var id2=elem.getAttribute(
‘id‘
);
但对于input的value,使用getAttribute获取的永远是写HTML标签时指定的那个值,而value属性则获取到的是input当前输入的值。
而另一些特性比如checked,只要checked特性存在,无论其值是什么,DOM对象的checked属性的值都是true。这里checked属性已经不是字符串而是布尔类型了。
还有一些特性比如style和onclick,其对应的DOM属性完全是返回一个对象了,比如elem.style属性就返回一个CSSStyleDeclaration对象。
HTML自定义attribute没有对应的DOM对象property。
原文:http://www.cnblogs.com/zzsdream/p/5064686.html
内容总结
以上是互联网集市为您收集整理的检测浏览器对HTML5新input类型的支持全部内容,希望文章能够帮你解决检测浏览器对HTML5新input类型的支持所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。