onclick JAVASCRIPT 如何从相同的 class 获取每个值
How to get each value from the same class once onclick JAVASCRIPT
这是我的代码
<div class="selecionar" onclick="abrirFiltroCategoria()">
<p class="valueCategoria">Selecionar categoria</p>
</div>
<div class="button-group js-radio-button-group box__categoria" data-filter-group="color">
<button class="button" data-filter=".red" value="Passeio" onclick="mostrarValueCategoria(this)">Passeio</button>
<button class="button" data-filter=".blue" value="SUV/Pickup/4x4" onclick="mostrarValueCategoria(this)">SUV/Pickup/4x4</button>
<button class="button" data-filter=".yellow" value="Van e Utilitário" onclick="mostrarValueCategoria(this)">Van e Utilitário</button>
<button class="button" data-filter=".yellow" value="Caminhão e Carga" onclick="mostrarValueCategoria(this)">Caminhão e Carga</button>
</div>
和我的 js
function mostrarValueCategoria() {
var name = document.querySelector('.button').value;
document.querySelector('.valueCategoria').innerHTML = name;
}
我需要解决的问题:在每次点击时,获取我点击的按钮的当前值,擦除之前的值。
你传递 this
作为参数,你可以在你的函数中使用它来获取当前值。
function mostrarValueCategoria(el) {
console.log(el.value)
document.querySelector('.valueCategoria').innerText = el.value;
}
<div class="selecionar" onclick="abrirFiltroCategoria()">
<p class="valueCategoria">Selecionar categoria</p>
</div>
<div class="button-group js-radio-button-group box__categoria" data-filter-group="color">
<button class="button" data-filter=".red" value="Passeio" onclick="mostrarValueCategoria(this)">Passeio</button>
<button class="button" data-filter=".blue" value="SUV/Pickup/4x4" onclick="mostrarValueCategoria(this)">SUV/Pickup/4x4</button>
<button class="button" data-filter=".yellow" value="Van e Utilitário" onclick="mostrarValueCategoria(this)">Van e Utilitário</button>
<button class="button" data-filter=".yellow" value="Caminhão e Carga" onclick="mostrarValueCategoria(this)">Caminhão e Carga</button>
</div>
注意您可以使用innerText
代替innerHTML
来显示值。
function mostrarValueCategoria(button) {
var name = button.value;
document.querySelector('.valueCategoria').innerHTML = name;
}
<div class="selecionar" onclick="abrirFiltroCategoria()">
<p class="valueCategoria">Selecionar categoria</p>
</div>
<div class="button-group js-radio-button-group box__categoria" data-filter-group="color">
<button class="button" data-filter=".red" value="Passeio" onclick="mostrarValueCategoria(this)">Passeio</button>
<button class="button" data-filter=".blue" value="SUV/Pickup/4x4" onclick="mostrarValueCategoria(this)">SUV/Pickup/4x4</button>
<button class="button" data-filter=".yellow" value="Van e Utilitário" onclick="mostrarValueCategoria(this)">Van e Utilitário</button>
<button class="button" data-filter=".yellow" value="Caminhão e Carga" onclick="mostrarValueCategoria(this)">Caminhão e Carga</button>
</div>
window.mostrarValueCategoria = function (event) {
var name = event.target.value;
document.querySelector('.valueCategoria').innerHTML = name;
}
<div class="button-group js-radio-button-group box__categoria" data-filter-group="color">
<button class="button" data-filter=".red" value="Passeio" onclick="mostrarValueCategoria(event)">Passeio</button>
<button class="button" data-filter=".blue" value="SUV/Pickup/4x4" onclick="mostrarValueCategoria(event)">SUV/Pickup/4x4</button>
<button class="button" data-filter=".yellow" value="Van e Utilitário" onclick="mostrarValueCategoria(event)">Van e Utilitário</button>
<button class="button" data-filter=".yellow" value="Caminhão e Carga" onclick="mostrarValueCategoria(event)">Caminhão e Carga</button>
</div>
<div class="valueCategoria">
</div>
您可以使用 'event' 对象来访问引起事件的元素的属性。
您必须从特定按钮事件中捕获值:
function mostrarValueCategoria(e) {
var name = e.value;
document.querySelector('.valueCategoria').innerHTML = name;
}
不需要传递 this
。由于可以访问 event
并且可以从中获取 target
元素。在按钮中,您可以只使用:onclick="mostrarValueCategoria()"
和如下函数:
function mostrarValueCategoria() {
var name = event.target.value;
document.querySelector('.valueCategoria').innerHTML = name;
}
这里是 运行 代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Click Events</title>
<script>
function mostrarValueCategoria(e) {
var name = e.value;
document.querySelector('.valueCategoria').innerHTML = name;
}
</script>
</head>
<body>
<div class="selecionar" onclick="abrirFiltroCategoria()">
<p class="valueCategoria">Selecionar categoria</p>
</div>
<div class="button-group js-radio-button-group box__categoria" data-filter-group="color">
<button class="button" data-filter=".red" value="Passeio" onclick="mostrarValueCategoria(this)">Passeio</button>
<button class="button" data-filter=".blue" value="SUV/Pickup/4x4"
onclick="mostrarValueCategoria(this)">SUV/Pickup/4x4</button>
<button class="button" data-filter=".yellow" value="Van e Utilitário" onclick="mostrarValueCategoria(this)">Van
e
Utilitário</button>
<button class="button" data-filter=".yellow" value="Caminhão e Carga"
onclick="mostrarValueCategoria(this)">Caminhão
e Carga</button>
</div>
</body>
</html>
您可以在调用函数时传递 this
,只需使用它来获取当前 button
单击的值。即:
function mostrarValueCategoria(element) {
var name =element.value;
document.querySelector('.valueCategoria').innerHTML = name;
}
<div class="selecionar" onclick="abrirFiltroCategoria()">
<p class="valueCategoria">Selecionar categoria</p>
</div>
<div class="button-group js-radio-button-group box__categoria" data-filter-group="color">
<button class="button" data-filter=".red" value="Passeio" onclick="mostrarValueCategoria(this)">Passeio</button>
<button class="button" data-filter=".blue" value="SUV/Pickup/4x4" onclick="mostrarValueCategoria(this)">SUV/Pickup/4x4</button>
<button class="button" data-filter=".yellow" value="Van e Utilitário" onclick="mostrarValueCategoria(this)">Van e Utilitário</button>
<button class="button" data-filter=".yellow" value="Caminhão e Carga" onclick="mostrarValueCategoria(this)">Caminhão e Carga</button>
</div>
这是我的代码
<div class="selecionar" onclick="abrirFiltroCategoria()">
<p class="valueCategoria">Selecionar categoria</p>
</div>
<div class="button-group js-radio-button-group box__categoria" data-filter-group="color">
<button class="button" data-filter=".red" value="Passeio" onclick="mostrarValueCategoria(this)">Passeio</button>
<button class="button" data-filter=".blue" value="SUV/Pickup/4x4" onclick="mostrarValueCategoria(this)">SUV/Pickup/4x4</button>
<button class="button" data-filter=".yellow" value="Van e Utilitário" onclick="mostrarValueCategoria(this)">Van e Utilitário</button>
<button class="button" data-filter=".yellow" value="Caminhão e Carga" onclick="mostrarValueCategoria(this)">Caminhão e Carga</button>
</div>
和我的 js
function mostrarValueCategoria() {
var name = document.querySelector('.button').value;
document.querySelector('.valueCategoria').innerHTML = name;
}
我需要解决的问题:在每次点击时,获取我点击的按钮的当前值,擦除之前的值。
你传递 this
作为参数,你可以在你的函数中使用它来获取当前值。
function mostrarValueCategoria(el) {
console.log(el.value)
document.querySelector('.valueCategoria').innerText = el.value;
}
<div class="selecionar" onclick="abrirFiltroCategoria()">
<p class="valueCategoria">Selecionar categoria</p>
</div>
<div class="button-group js-radio-button-group box__categoria" data-filter-group="color">
<button class="button" data-filter=".red" value="Passeio" onclick="mostrarValueCategoria(this)">Passeio</button>
<button class="button" data-filter=".blue" value="SUV/Pickup/4x4" onclick="mostrarValueCategoria(this)">SUV/Pickup/4x4</button>
<button class="button" data-filter=".yellow" value="Van e Utilitário" onclick="mostrarValueCategoria(this)">Van e Utilitário</button>
<button class="button" data-filter=".yellow" value="Caminhão e Carga" onclick="mostrarValueCategoria(this)">Caminhão e Carga</button>
</div>
注意您可以使用innerText
代替innerHTML
来显示值。
function mostrarValueCategoria(button) {
var name = button.value;
document.querySelector('.valueCategoria').innerHTML = name;
}
<div class="selecionar" onclick="abrirFiltroCategoria()">
<p class="valueCategoria">Selecionar categoria</p>
</div>
<div class="button-group js-radio-button-group box__categoria" data-filter-group="color">
<button class="button" data-filter=".red" value="Passeio" onclick="mostrarValueCategoria(this)">Passeio</button>
<button class="button" data-filter=".blue" value="SUV/Pickup/4x4" onclick="mostrarValueCategoria(this)">SUV/Pickup/4x4</button>
<button class="button" data-filter=".yellow" value="Van e Utilitário" onclick="mostrarValueCategoria(this)">Van e Utilitário</button>
<button class="button" data-filter=".yellow" value="Caminhão e Carga" onclick="mostrarValueCategoria(this)">Caminhão e Carga</button>
</div>
window.mostrarValueCategoria = function (event) {
var name = event.target.value;
document.querySelector('.valueCategoria').innerHTML = name;
}
<div class="button-group js-radio-button-group box__categoria" data-filter-group="color">
<button class="button" data-filter=".red" value="Passeio" onclick="mostrarValueCategoria(event)">Passeio</button>
<button class="button" data-filter=".blue" value="SUV/Pickup/4x4" onclick="mostrarValueCategoria(event)">SUV/Pickup/4x4</button>
<button class="button" data-filter=".yellow" value="Van e Utilitário" onclick="mostrarValueCategoria(event)">Van e Utilitário</button>
<button class="button" data-filter=".yellow" value="Caminhão e Carga" onclick="mostrarValueCategoria(event)">Caminhão e Carga</button>
</div>
<div class="valueCategoria">
</div>
您可以使用 'event' 对象来访问引起事件的元素的属性。
您必须从特定按钮事件中捕获值:
function mostrarValueCategoria(e) {
var name = e.value;
document.querySelector('.valueCategoria').innerHTML = name;
}
不需要传递 this
。由于可以访问 event
并且可以从中获取 target
元素。在按钮中,您可以只使用:onclick="mostrarValueCategoria()"
和如下函数:
function mostrarValueCategoria() {
var name = event.target.value;
document.querySelector('.valueCategoria').innerHTML = name;
}
这里是 运行 代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Click Events</title>
<script>
function mostrarValueCategoria(e) {
var name = e.value;
document.querySelector('.valueCategoria').innerHTML = name;
}
</script>
</head>
<body>
<div class="selecionar" onclick="abrirFiltroCategoria()">
<p class="valueCategoria">Selecionar categoria</p>
</div>
<div class="button-group js-radio-button-group box__categoria" data-filter-group="color">
<button class="button" data-filter=".red" value="Passeio" onclick="mostrarValueCategoria(this)">Passeio</button>
<button class="button" data-filter=".blue" value="SUV/Pickup/4x4"
onclick="mostrarValueCategoria(this)">SUV/Pickup/4x4</button>
<button class="button" data-filter=".yellow" value="Van e Utilitário" onclick="mostrarValueCategoria(this)">Van
e
Utilitário</button>
<button class="button" data-filter=".yellow" value="Caminhão e Carga"
onclick="mostrarValueCategoria(this)">Caminhão
e Carga</button>
</div>
</body>
</html>
您可以在调用函数时传递 this
,只需使用它来获取当前 button
单击的值。即:
function mostrarValueCategoria(element) {
var name =element.value;
document.querySelector('.valueCategoria').innerHTML = name;
}
<div class="selecionar" onclick="abrirFiltroCategoria()">
<p class="valueCategoria">Selecionar categoria</p>
</div>
<div class="button-group js-radio-button-group box__categoria" data-filter-group="color">
<button class="button" data-filter=".red" value="Passeio" onclick="mostrarValueCategoria(this)">Passeio</button>
<button class="button" data-filter=".blue" value="SUV/Pickup/4x4" onclick="mostrarValueCategoria(this)">SUV/Pickup/4x4</button>
<button class="button" data-filter=".yellow" value="Van e Utilitário" onclick="mostrarValueCategoria(this)">Van e Utilitário</button>
<button class="button" data-filter=".yellow" value="Caminhão e Carga" onclick="mostrarValueCategoria(this)">Caminhão e Carga</button>
</div>