20150830 H5 敏捷实践

H5 新定义的<input>好用的属性

1. autofocus,页面加载时让元素获取焦点。
User name: <input type="text" name="user_name"  autofocus="autofocus" />

2.required 属性 必须在提交之前填写输入域(不能为空)。

注释:required 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。

实例

Name: <input type="text" name="usr_name" required="required" />

3.list 属性

list 属性规定输入域的 datalist。datalist 是输入域的选项列表。

注释:list 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email, date pickers, number, range 以及 color。

实例

Webpage: <input type="url" list="url_list" name="link" />
<datalist id="url_list">
<option label="W3Schools" value="http://www.w3school.com.cn" />
<option label="Google" value="http://www.google.com" />
<option label="Microsoft" value="http://www.microsoft.com" />
</datalist>

在标记上添加丰富的上下文数据

自定义数据属性是在HTML5中新加入的一个特性。简单来说,自定义数据属性规范规定任何以data-开头属性名并且赋值。自定义数据属性是为了保存页面或者应用程序的私有自定义数据,这些自定义数据属性保存进DOM中,对于整个DOM的布局和表现无任何影响,但是却可以方便操控整个网页的交互以及想要表达的效果。

       比如我们想要统计一个页面玩家的排行榜,但是DOM页面的原生标签并没有提供这样的一个类似的属性。这时,就可以创建一个data-rank数据属性,保存玩家的分数,利用JS去控制属性的赋值以及逻辑分析,最终达到想要的效果。

       对于数据属性的值的获取和设置,JQ提供了两种方法attr()和data()。

       这两种方法,当只传递一个参数(标签的属性)的时候,可以获取该属性的值;

   $(selector).attr(attribute)
      当传递两个参数的时候,可以设置一个标签的属性以及值,
   $(selector).attr(attribute,value)

       对于原生的属性:

       <a id="a_one" href="http://blog.csdn.net/it_surfer"></a>

       <a id="a_two"></a>

        则利用$("#a_one").attr("href")可以获取到id为a_one的a标签的连接地址:http://blog.csdn.net/it_surfer;

        利用$("#a_two").attr("href","http://blog.csdn.net/it_surfer"),就可以设置id为a_two的a标签的连接地址为:http://blog.csdn.net/it_surfer

        对于自定义数据属性:

        <a id="a_one" href="http://blog.csdn.net/it_surfer" data-num=50></a>此处给a标签加了一个自定义数据属性data-num,用来统计访问改连接的次数

        则可以利用$("#a_one").attr("data-num",80)来给id为a_one的a标签来给data-num赋值

        也可以利用$("#a_one").data("num",80)来给id为a_one的a标签来给data-num赋值

        同理,可以利用$("#a_one").attr("data-num")来获取id为a_one的a标签的data-num的值

        也可以利用$("#a_one").data("num")获取id为a_one的a标签的data-num的值

         注意attr()和data()方法引用的属性名的形式不同。


示例如下*使用自定义数据和一个事件监听器为一组元素添加提示消息:
<div class="container">

      <h1>Using a JavaScript Delegate with Stored Custom Data</h1>
      <p>Click on one of the selections below to find out more info about your character:</p>
      
      <ul id="myList">
        <li data-discription="Most powerful goblin in entire kingdom" >Ludo</li>
        <li data-discription="Ruler over all goblins big and small" >Jareth the Gobblin King</li>
        <li data-discription="Only person who can put a stop to the Goblin King" >Sarah</li>
        <li data-discription="Unsung hero of the goblin kingdom" >Hoggle</li>
      </ul>
     <p id="displayTarg" class="well"></p>
    </div> <!-- /container -->
    
    <script>
    var mainElement = document.getElementById('myList');
    var discriptionTarget = document.getElementById('displayTarg');
    
    mainElement.addEventListener('click', function(e){
        
        var discription = e.target.getAttribute('data-discription'); //remember we use getAttribute instead of dataset.discription due to its backwards compatability
        
        discriptionTarget.innerHTML = discription;
        
        });   
    </script>

自定义数据属性允许我们将data-属性添加到元素上,以“内联”数据。当需要访问DOM元素上附加的数据时,JavaScript的事件分发机制就会显得非常强大
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值