简体   繁体   English

从具有相同 class 名称的按钮获取不同的值

[英]get the different values from button with same class name

I want to get the values from clicking the button with same class name, but whenever I clicked the button it shows undefined.我想通过单击具有相同 class 名称的按钮来获取值,但是每当我单击该按钮时,它都会显示未定义。

 var clr; const btn = document.querySelectorAll('.color'); function myFunction() { for (var i = 0; i < btn.length; i++) { clr = btn[i].value; console.log(clr); } }
 <div class="color"> <button class="btn" value="#BADA55" onclick="myFunction()"> Yellow </button> <button class="btn" value="#10A426" onclick="myFunction()"> Green </button> <button class="btn" value="#8787DE" onclick="myFunction()"> Purple </button> </div>

const btn = document.querySelectorAll('.color'); gets the div not the buttons.获取 div 而不是按钮。 Change that to const btn = document.querySelectorAll('.btn');将其更改为const btn = document.querySelectorAll('.btn'); :

 var clr; const btn = document.querySelectorAll('.btn'); function myFunction() { for (var i = 0; i < btn.length; i++) { clr = btn[i].value; console.log(clr); } }
 <div class="color"> <button class="btn" value="#BADA55" onclick="myFunction()"> Yellow </button> <button class="btn" value="#10A426" onclick="myFunction()"> Green </button> <button class="btn" value="#8787DE" onclick="myFunction()"> Purple </button> </div>

If you only want the value from the button being clicked, then change your code to如果您只想要单击按钮的值,则将代码更改为

 function myFunction(btn) { console.log(btn.value); }
 <div class="color"> <button class="btn" value="#BADA55" onclick="myFunction(this)"> Yellow </button> <button class="btn" value="#10A426" onclick="myFunction(this)"> Green </button> <button class="btn" value="#8787DE" onclick="myFunction(this)"> Purple </button> </div>

do it in this way it will give you exact result这样做它会给你准确的结果

 function myFunction(event) { clr = event.target.value; console.log(clr); }
 <div class="color"> <button class="btn" value="#BADA55" onclick="myFunction(event)"> Yellow </button> <button class="btn" value="#10A426" onclick="myFunction(event)"> Green </button> <button class="btn" value="#8787DE" onclick="myFunction(event)"> Purple </button> </div>

First: scripting where scripting should be (no inline handlers).第一:脚本应该是脚本(没有内联处理程序)。 So add an event listener to the document , and let it check if the target (the element clicked) has classname btn .因此,向document添加一个事件监听器,并让它检查target (单击的元素)是否具有类名btn In that case: iterate through the an Array of elements with className btn ( Array.from(document.querySelectorAll(".btn")) ) using Array.forEach to display the values of those elements.在这种情况下:使用Array.forEach遍历具有 className btnArray.from(document.querySelectorAll(".btn")) )的元素数组以显示这些元素的值。

 document.addEventListener("click", myFunction); function myFunction(evt) { console.clear(); if (evt.target.classList.contains("btn")) { // a button.btn was clicked, so let report = `You clicked button with value ${evt.target.value}. Other.btn values:`; let values = []; Array.from(document.querySelectorAll(".btn")).forEach(val => val.== evt.target && values.push(val;value)). console.log(`${report} ${values,join("; ")}`); } }
 <div class="color"> <button class="btn" value="#BADA55"> Yellow </button> <button class="btn" value="#10A426"> Green </button> <button class="btn" value="#8787DE"> Purple </button> </div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从具有相同类名的不同输入字段获取值 - Getting values from different input fields with same class name 我无法从同一类的不同按钮获得不同的值 - I cant get different values from different buttons with the same Class jQuery-从具有相同类的元素中获取不同的值 - jQuery - get different values from elements with same class 在相同的 div id 中获取具有不同类名的复选框值 - jquery mvc - Get checkbox values with different class name in the same div id - jquery mvc 如何通过单选按钮将相同的类/ ID名称php值传递给javascript? - How to pass same class/id name php values from radio button to javascript? 具有相同类名的第二个按钮无法获取文件名 - Second button with same class name not able to get file name jquery 在所有具有不同值但具有相同类名的 div 上运行 jQuery 函数 - Running a jQuery function on all divs with different values but same class name 如何通过Jquery从具有相同名称但不同索引的输入中获取所有值 - How to get all values from inputs with same name but different index via Jquery 如何仅使用没有库的javascript从同一个类的不同div获取值的总和? - How can I get sum of values from different divs with the same class using only javascript without libraries? 如何从jquery中属于同一类的成员的元素中获取所有不同的值? - How to get all the different values from elements that are members of the same class in jquery?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM