微信小程序H5——自定义属性data-*

背景

  • HTML5中增加了很多属性,我们使用 data-* 属性来嵌入自定义数据。也就是说这个data-*是可以用来存储数据的,data-的后面紧跟自己起的一个变量名,然后后面赋予一个值,这个值就会被存储起来。然后获取数据通过js来实现。

用法

  • HTML标签中使用data-* 属性嵌入数据

    <!DOCTYPE html>
    <html>
      <body>
        <ul>
          <li onclick="showDetails(this)" id="owl" data-animal-bird="bird">Owl</li>
          <li onclick="showDetails(this)" id="salmon" data-animal-fish="fish">Salmon</li>
          <li onclick="showDetails(this)" id="tarantula" data-animal-spider="spider">Tarantula</li>
        </ul>
      </body>
    </html>
  • js中获取
    • 获取方式一:通过dataset.XXX获取

      <script>
      function showDetails(animal)
      {
          var animalBird = animal.dataset.animalBird;
          console.log(animalBird); //bird
      
          var animalFish = animal.dataset.animalFish;
          console.log(animalFish); // fish
      
          var animalSpider = animal.dataset.animalSpider;
          console.log(animalSpider); //spider
      }
      </script>
    • 获取方式二:通过getAttribute("XXX")获取
      <script>
      function showDetails(animal)
      {
          var animalBird= animal.getAttribute("data-animal-bird");
          console.log(animalBird);--bird
      
          var animalFish = animal.getAttribute("data-animal-fish");
          console.log(animalFish );--fish
      
          var animalSpider = animal.getAttribute("data-animal-spider");
          console.log(animalSpider );--spider
      }
      </script>
    • Next

注意事项

  • js中使用dataset.XXX获取标签中自定义属性值时,标签中的属性值XXX中不可以包含特殊字符(‘-’除外)。
  • js中使用dataset.XXX获取标签中自定义属性值时,如果标签中的属性值XXX中包含字符‘-’,需要使用驼峰式获取自定义变量值。
  • 举例
    • 不包含‘-’

      <html>
        <body>
          <ul>
            <li onclick="showDetails(this)" id="owl" data-animalbird="bird">Owl</li>
          </ul>
        </body>
      </html>
      <script>
      function showDetails(animal)
      {
          var animalBird = animal.dataset.animalbird;
          console.log(animalBird); //bird
      }
      </script>
    • 包含‘-’
      <html>
        <body>
          <ul>
            <li onclick="showDetails(this)" id="owl" data-animal-bird="bird">Owl</li>
          </ul>
        </body>
      </html><script>
      function showDetails(animal)
      {
          var animalBird = animal.dataset.animalBird; //驼峰式命名,否则报错undefined
          console.log(animalBird); //bird
      }
      </script>
  • Next

原文地址:https://www.cnblogs.com/zuiyue_jing/p/12155772.html

时间: 2024-10-09 23:57:22

微信小程序H5——自定义属性data-*的相关文章

微信小程序获取自定义属性值

写小程序的时候用到了自定义属性,特地来记录一下 特别是这个坑,必须得说一说 wxml <view class='box' bindtap='getValue'> <view class='first' data-num="1024" data-name="张三">第一个view</view> <view class='second' data-age="2017" data-con="李四&qu

微信小程序H5预览页面框架

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!--解决iphone横屏默认放大字体--> <

微信小程序开发(request请求后台获取不到data)

1微信的request的post请求后台获取不到data(当初这个问题纠结了好久好久),原因是post传递的data是json格式而不是key,value的格式,所以获取不到相应的data就是post请求应为表单模式的data,微信小程序提供的datajson格式完全获取不到. 解决方法: 1.改变header header: {'Content-Type': 'application/json;charset=UTF-8;'}, 2.query的格式传递post请求就可以了,不过这个有点..你

微信小程序、微信公众号、H5之间相互跳转

转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 图片有点小,我把文字打出来吧: 可关联已有的小程序或快速创建小程序.已关联的小程序可被使用在自定义菜单和模版消息等场景中. 公众号可关联同主体的10个小程序及不同主体的3个小程序.同一个小程序可关联最多50个公众号. 1.公众号跳小程序 比如说 "丰巢快递柜" 公众号关联的小程序:丰巢寄快递. 2.小程序跳公众号 打开"丰巢寄快递",点击右上角的菜单选项,然后点击"关于

[转]微信小程序、微信公众号、H5之间相互跳转

本文转自:https://www.cnblogs.com/colorful-paopao1/p/8608609.html 转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 图片有点小,我把文字打出来吧: 可关联已有的小程序或快速创建小程序.已关联的小程序可被使用在自定义菜单和模版消息等场景中. 公众号可关联同主体的10个小程序及不同主体的3个小程序.同一个小程序可关联最多50个公众号. 1.公众号跳小程序 比如说 “丰巢快递柜” 公众号关联的小程序:丰巢寄快

微信小程序云开发报错解决: Setting data field &quot;openid&quot; to undefined is invalid.

最近在学习微信小程序云开发,刚一开始就遇到了问题. 点击获取openid的时候控制台开始报错: [云函数] [login] user openid:  undefined VM97:1 Setting data field "openid" to undefined is invalid. 然后我开始去百度搜索解决这个问题,各种方法都试过了,还是没有解决.换了一个思路,开始追踪代码: 鼠标悬停到右边的 index.js:55,发现是/pages/index/index.js文件的第55

微信支付-小程序H5 公众号 Payment SDK

前言 今天是2020年一天,去年最后一个月开发了订单和支付系统,尤其在支付系统和微信对接的时候遇到了很多坑,这里给大家总结下,以免大家遇到相同的问题还浪费大量时间 微信支付前期准备 微信商户号,需要商户号,密码 ,退款时需要证书,证书默认密码是商户号 微信app(如 微信小程序 或者 微信公众号) 的appid和appsecret 需要在商户中关联微信小程序和微信公众号,然后运营者确认. 至此微信支付前期工作完成 Payment 封装了微信 支付宝 银联等很多支付的SDK git地址 https

微信小程序实例教程(一)

序言 开始开发应用号之前,先看看官方公布的「小程序」教程吧!(以下内容来自微信官方公布的「小程序」开发指南) 本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果.这个小程序的首页将会显示欢迎语以及当前用户的微信头像,点击头像,可以在新开的页面中查看当前小程序的启动日志. 1. 获取微信小程序的 AppID 首先,我们需要拥有一个帐号,如果你能看到该文档,我们应当已经邀请并为你创建好一个帐号.注意不可直接使用服务号或订阅号的 AppID. 利用提供的帐号,登录https

微信小程序的Web API接口设计及常见接口实现

微信小程序给我们提供了一个很好的开发平台,可以用于展现各种数据和实现丰富的功能,通过小程序的请求Web API 平台获取JSON数据后,可以在小程序界面上进行数据的动态展示.在数据的关键 一环中,我们设计和编写Web API平台是非常重要的,通过这个我们可以实现数据的集中控制和管理,本篇随笔介绍基于Asp.NET MVC的Web API接口层的设计和常见接口代码的展示,以便展示我们常规Web API接口层的接口代码设计.参数的处理等内容. 1.Web API整体性的架构设计 我们整体性的架构设计