js 通过e.target 获取当前属性值
时间: 2023-06-17 21:08:04 浏览: 62
您可以通过 `e.target.getAttribute('属性名')` 方法获取当前元素的属性值。例如,如果您想获取当前元素的 `data-id` 属性值,可以编写以下代码:
```javascript
function handleClick(e) {
const id = e.target.getAttribute('data-id');
console.log(`当前元素的 data-id 属性值为 ${id}`);
}
// 为元素绑定点击事件
const element = document.querySelector('#my-element');
element.addEventListener('click', handleClick);
```
当您单击 `#my-element` 元素时,将在控制台中打印出类似于“当前元素的 data-id 属性值为 123”的消息。
相关问题
e.target.dataset和e.currentTarget.dataset的区别并举出相应的案例说明
e.target和e.currentTarget是JavaScript中事件对象的两个属性。其中,e.target表示触发事件的具体元素,而e.currentTarget则表示当前事件处理程序所绑定的元素。
在这两个属性中,dataset表示一个DOMStringMap对象,其中包含了元素的所有自定义数据属性。这些属性的名称都是不带"data-"前缀的,例如,如果一个元素有一个属性"data-name",则可以通过e.target.dataset.name或e.currentTarget.dataset.name来获取它的值。
区别在于,e.target.dataset返回的是触发事件的具体元素的自定义数据属性,而e.currentTarget.dataset返回的是当前事件处理程序所绑定元素的自定义数据属性。
举个例子,假设我们有一个包含多个按钮的父元素,每个按钮都有一个自定义属性"data-id"。我们为这个父元素添加一个点击事件处理程序,点击任何一个按钮时,都会触发这个事件处理程序。
当我们使用e.target.dataset.id时,返回的就是点击的具体按钮的"data-id"属性的值。而当我们使用e.currentTarget.dataset.id时,返回的是父元素绑定的事件处理程序所在元素的"data-id"属性的值,也就是父元素的"data-id"属性的值。
form subimit 获取 wxml中for循环定义的input数据
要获取在 wxml 中使用 for 循环定义的 input 数据,你可以使用以下步骤:
1. 在 wxml 中,使用 `wx:for` 和 `wx:for-item` 属性定义一个 for 循环,循环遍历一个数组或对象,并为每个循环项定义一个唯一的索引。
```html
<view wx:for="{{items}}" wx:for-item="item" wx:for-index="index">
<input data-index="{{index}}" bindinput="inputChange" value="{{item.value}}" />
</view>
```
2. 在对应的 js 文件中,定义一个变量来存储 input 数据。这个变量可以是一个数组或对象,与 wxml 中的循环项对应。
```javascript
Page({
data: {
items: [
{ value: '' },
{ value: '' },
{ value: '' }
]
},
inputChange(e) {
const index = e.target.dataset.index;
const value = e.detail.value;
let items = this.data.items;
items[index].value = value;
this.setData({
items: items
});
}
});
```
3. 在 `inputChange` 方法中,通过 `e.target.dataset.index` 获取当前 input 的索引,通过 `e.detail.value` 获取输入的值。
4. 更新对应索引的数据项的 value 值,然后使用 `this.setData()` 方法更新 data 中的 items 数据。
这样,你就可以在 js 文件中获取和操作在 wxml 中使用 for 循环定义的 input 数据了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)