现在有5个class为button的div标签,我要通过js获取当前点击的class为button的div标签,请问如何实现?
时间: 2023-06-16 07:08:36 浏览: 80
你可以使用addEventListener方法来监听点击事件,然后在回调函数中获取当前点击的元素的class属性值。具体实现代码如下:
```javascript
// 获取所有class为button的div元素
const buttons = document.querySelectorAll('.button');
// 遍历所有button元素并添加点击事件监听
buttons.forEach(button => {
button.addEventListener('click', function() {
// 获取当前点击元素的class属性值
const currentClass = this.getAttribute('class');
console.log(currentClass);
});
});
```
这段代码首先使用querySelectorAll方法获取所有class为button的div元素,然后遍历所有button元素并为它们添加点击事件监听。当用户点击某个button元素时,回调函数会被触发,其中的this指向当前点击的元素,我们可以使用getAttribute方法获取它的class属性值并输出到控制台上。
相关问题
<div id="main"> <div id="chatOne"> <div class="name"></div> 点击发送时,获取当前按钮的div下的input值 <ul class="information"></ul> <div class="bottom"> <input class="chatInfo" value="请输入留言内容"/> <button class="sentImage" onclick="add(this.previousElementSibling)">发送</button> </div> </div> <div id="chatTwo"> <div class="name"></div> <ul class="information"></ul> <div class="bottom"> <input class="chatInfo" value="请输入留言内容"/> <button class="sentImage" onclick="add(this.previousElementSibling)">发送</button> </div> </div> </div>
这段HTML代码展示了两个聊天窗口,每个聊天窗口包含一个输入框和一个发送按钮,点击发送按钮时应该获取相应聊天窗口中输入框的值,并将其添加到该聊天窗口中的信息列表中。
可以使用JavaScript来实现这个功能,具体步骤如下:
1. 给每个发送按钮添加一个点击事件处理函数,该函数应该获取相应聊天窗口中的输入框的值,并将其添加到该聊天窗口中的信息列表中。
2. 在点击事件处理函数中,使用`this`关键字来获取当前按钮,然后使用`previousElementSibling`属性来获取该按钮的前一个兄弟元素,即相应聊天窗口中的输入框。
3. 使用`value`属性来获取输入框中的值。
4. 创建一个新的`li`元素,将输入框中的值作为其文本内容,并将其添加到相应聊天窗口中的信息列表中。
下面是一个示例代码,用于实现上述功能:
```javascript
function add(input) {
var value = input.value; // 获取输入框中的值
var list = input.nextElementSibling; // 获取信息列表
var li = document.createElement("li"); // 创建新的li元素
li.textContent = value; // 设置li元素的文本内容
list.appendChild(li); // 将li元素添加到信息列表中
input.value = ""; // 清空输入框中的内容
}
```
在HTML代码中,需要将每个发送按钮的`onclick`属性设置为`add(this.previousElementSibling)`,以便在点击按钮时调用上述函数,并且将相应聊天窗口中的输入框作为参数传递给该函数。
<form action="" class="s-form"> <div class="s-field"> <div class="left">数据集名称</div> <div class="right"> <input type="text" name="" id="" class="s-input" style="width: 380px; height: 32px;"> </div> </div> <div class="s-field"> <div class="left">标注类型</div> <div class="right"> <div class="radio-item"> <input type="radio" name="object1" id=""> <label for="object1">物体检测</label> </div> <div class="radio-item"> <input type="radio" name="object2" id=""> <label for="object2">语义分割</label> </div> </div> </div> <button class="s-button">创建并导入</button> <button class="s-button">完成创建</button> <button class="s-button">取消</button> </form>优化代码,可以改变标签类名及id名,实现物体检测和语义分割的单选框只能选择一个,将用户输入的数据集名称和选择的单选框通过Ajax传递给后台
以下是优化后的代码,修改了标签类名及id名,实现了单选框只能选择一个,添加了Ajax实现将用户输入的数据集名称和选择的单选框传递给后台:
```
<form action="" class="form-dataset">
<div class="field">
<div class="field-label">数据集名称</div>
<div class="field-input">
<input type="text" name="dataset-name" class="input-text" style="width: 380px; height: 32px;">
</div>
</div>
<div class="field">
<div class="field-label">标注类型</div>
<div class="field-input">
<div class="radio-group">
<div class="radio-item">
<input type="radio" name="annotation-type" id="object-detection" value="object-detection">
<label for="object-detection">物体检测</label>
</div>
<div class="radio-item">
<input type="radio" name="annotation-type" id="semantic-segmentation" value="semantic-segmentation">
<label for="semantic-segmentation">语义分割</label>
</div>
</div>
</div>
</div>
<button type="button" class="button-create-import">创建并导入</button>
<button type="button" class="button-create">完成创建</button>
<button type="button" class="button-cancel">取消</button>
</form>
<script>
$(function() {
// 单选框只能选择一个
$('.radio-item input[type="radio"]').on('click', function() {
$(this).closest('.radio-group').find('input[type="radio"]').prop('checked', false);
$(this).prop('checked', true);
});
// 创建并导入按钮事件
$('.button-create-import').on('click', function() {
var datasetName = $('input[name="dataset-name"]').val();
var annotationType = $('input[name="annotation-type"]:checked').val();
// 发送Ajax请求
$.ajax({
url: '后台处理程序的URL',
type: 'POST',
data: {
datasetName: datasetName,
annotationType: annotationType
},
success: function(data) {
// 处理成功后的逻辑
},
error: function() {
// 处理失败后的逻辑
}
});
});
// 完成创建按钮事件
$('.button-create').on('click', function() {
// 处理完成创建的逻辑
});
// 取消按钮事件
$('.button-cancel').on('click', function() {
// 处理取消的逻辑
});
});
</script>
```
阅读全文