html中data-属性作用,html中的data-*的用法和作用 自定义属性

定义和用法

**data- *** 属性用于存储私有页面后应用的自定义数据。

**data- *** 属性可以在所有的 HTML 元素中嵌入数据。

自定义的数据可以让页面拥有更好的交互体验(不需要使用 Ajax 或去服务端查询数据)。

**data- *** 属性由以下两部分组成:

属性名不要包含大写字母,在 data- 后必须至少有一个字符。

该属性可以是任何字符串

注意: 自定义属性前缀 "data-" 会被客户端忽略。

例如,定义不同的动物:

  • Owl
  • Salmon
  • Tarantula

用法

data-* 的值的获取和设置

2种方法:

1、传统方法

getAttribute() 获取data-属性值;

setAttribute() 设置data-属性值

2、HTML5新方法

例如 data-href

dataset.href 获取data-href属性值

dataset.href = 'http://imooc.com' 设置data-href属性值

总结:传统方法无兼容性问题,但是不够优雅、方便

HTML5新方法很优雅、方便,但是有兼容性问题,可以在移动端开发或不支持低版本浏览器的项目中>使用

兼容性问题看这儿:http://caniuse.com/#search=dataset

个人理解:用法

之前不是很懂为什么会有这样的功能的出现,知道我发现了个案例:

我想要在渲染出来了个列表数据之后,在最后面的一个button标签绑定一些操作,比如我点击这个button,这一行数据就会删除。

然而,我是循环渲染出来来了10行数据,当我点击第6行的时候,我又怎么知道我点的是第几行?总不能给某个元素写上自己第几行?

那么这时候自定义的数据就有用了,你渲染的时候直接写在html标签里面,不如叫做data-line-num="i",那么当我点击这个按钮,就判断这个按钮的这个属性等于多少,就知道我要删除i为几的数据了,然后后面把所有数据第i个删了,再重新渲染就好了。

个人案例:

为什么我要了解这个,因为我有那样的需求的时候不知道改怎么做,就去绑定了id为i,然而我自己也知道这是绝对不对的,id这样的全局参数,不好自定义,也容易污染,然后咨询了周围的大牛,才终于理解了这个自定义属性的作用。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uni-app,可以通过自定义数据源来实现uni-data-select的自定义数据源。 首先,你需要创建一个包含所需数据的数据源数组。每个数据源对象应包含`text`和`value`属性,分别表示显示的文本和对应的值。 接下来,在页面使用`uni-data-select`组件,并通过`data-source`属性自定义的数据源数组传递给组件。 以下是一个示例代码,展示如何在uni-app自定义数据源并使用`uni-data-select`组件: ```html <template> <view> <uni-data-select :data-source="dataSource" @select="onDataSelect" > <view class="data-select"> {{ selectedValue }} </view> </uni-data-select> </view> </template> <script> export default { data() { return { dataSource: [ { text: 'Option 1', value: 'option1' }, { text: 'Option 2', value: 'option2' }, { text: 'Option 3', value: 'option3' }, ], selectedValue: '', }; }, methods: { onDataSelect(event) { this.selectedValue = event.target.value; // 在这里可以处理选项变化后的逻辑 }, }, }; </script> ``` 在上述示例,我们创建了一个包含三个选项的数据源数组,并将其传递给`uni-data-select`组件的`data-source`属性。当选择发生变化时,通过监听`select`事件获取选的值,并将其赋值给`selectedValue`变量。你可以根据自己的需求修改数据源数组的内容,并在`onDataSelect`方法处理选项变化后的逻辑。 希望以上示例能帮助你自定义uni-data-select的数据源。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值