我试图通过使用单击按钮时更改浏览器中的$E$20 >= $G$20
地址的功能,从Cell\ Name\ Cell Value\ Formula\ Linear Function
$E$20\ Premium juice Grade\ 6\ $E$20>=$G$20\ No
脚本中剪切一些代码。我希望将ID号存储在变量中,以便在单击特定按钮ID时可以重复使用它来设置引脚号。
esp8266
href
function myFunction() {
console.log("button was clicked");
var x = document.getElementById(Element.id);
console.log(x);
document.getElementById(x).setAttribute("onClick",
"javascript:window.location.href='/toggle?pin_number='" + x);
}
返回<button class="button" id="4" onClick="myFunction()">TOGGLE D4</button><br>
<button class="button" id="5" onClick="javascript:window.location.href='/toggle?pin_number=5'">TOGGLE D5</button><br>
<button class="button" id="6" onClick="javascript:window.location.href='/toggle?pin_number=6'">TOGGLE D6</button><br>
。
我不知道这是否是最好的方法,因为我是console.log(x)
的新手。
答案 0 :(得分:1)
谢谢大家。我现在知道了。
function myFunction(x) {
console.log(x.id);
window.location.href='/toggle?pin_number=' + x.id;
}
经过测试,可以正常工作:)
答案 1 :(得分:0)
您需要将元素传递给函数。
<button class="button" id="4" onClick="myFunction(this)">TOGGLE D4</button>
然后,在函数中,接受一个接受该元素的参数(在本例中,将其称为e
)。
function myFunction(e) {
console.log("button was clicked");
console.log(e);
}
现在,如果要获取被单击的元素id
,只需访问id
属性,如:
console.log(e.id);
另一方面,HTML5不再那么严格,而是HTML4 used to have these rules作为ID:
ID和NAME令牌必须以字母([A-Za-z])开头,后跟任意数量的字母,数字([0-9]),连字符(“-”),下划线(“ _“),冒号(”:“)和点号(”。“)。
It's a good idea至stick with these rules。
最好使用value
属性:
<button class="button" value="4" onClick="myFunction(this)">TOGGLE D4</button>
然后使用e.value
:
function myFunction(e) {
console.log("button was clicked:", e.value);
}
答案 2 :(得分:0)
您不需要重复代码,下面是一段简短的代码即可完成您想要的操作:
document.querySelectorAll('.button').forEach(function(b) {//<-- iterates the buttons
b.addEventListener("click", function(t) {//<-- adds event listener
console.log(t.target.id)//<-- we get the data
})
});
<button class="button" id="4">TOGGLE D4</button><br>
<button class="button" id="5">TOGGLE D5</button><br>
<button class="button" id="6">TOGGLE D6</button><br>
我们向每个按钮添加一个事件侦听器,然后使用event.target.id