如何通过没有 id、class 或 jQuery 的 tagName 获取按钮?
How can get button by tagName without id, class or jQuery?
我想使用 tagName 获取不带 id、class 或 jQuery 的按钮文本,并将这些文本写入 p 标签。我的简单测试代码如下。
我希望你明白我想做什么。
<button>Button 1</button>
<button>Button 2</button>
<p id="result" ></p>
<script type="text/javascript">
function tagName(tag){
var buttons = document.getElementsByTagName(tag);
var totalButton = buttons.length;
for(var i=0;i<totalButton;i++){
// here i want to check which button clicked?
}
};
tagName("button").onclick = function(){
document.getElementById("result").innerHTML = tagName("button").innerHTML;
}
</script>
你能帮我完成这段代码吗?
注意:我只有一个函数tagName()
尝试这样的事情:
var obj = document.getElementsByTagName("button");
for (let item of obj) {
item.onclick = function(){
document.getElementById("result").innerHTML = item.innerHTML;
}
}
<html>
<head>
<script>
function tagName(tag) {
var buttons = document.getElementsByTagName(tag);
var totalButton = buttons.length;
var r = []
for (var i = 0; i < totalButton; i++) {
// here i want to check which button clicked?
r.push(buttons[i])
}
return r;
};
function onLoad() {
tagName("button").forEach(function (item, idx) {
item.addEventListener('click', function () {
document.getElementById("result").innerHTML = item.innerHTML;
});
});
}
</script>
</head>
<body onload="onLoad()">
<button>Button 1</button>
<button>Button 2</button>
<p id="result"></p>
<script type="text/javascript">
</script>
</body>
</html>
我相信这会如你所愿。它使用更现代的 Javascript,因此它不适用于旧版本的 IE。
<button>Button 1</button>
<button>Button 2</button>
<p id="result" ></p>
<script type="text/javascript">
function setButtonEvents(){
let buttons = document.querySelectorAll("button"); // (returns a nodeList, like an array)
for(let b of buttons){
// here i want to check which button clicked?
b.onclick=buttonClicked;
}
};
function buttonClicked(e) {
document.getElementById("result").innerHTML = e.target.innerHTML;
}
setButtonEvents();
</script>
如果您尝试根据单击的按钮更改 p
标记文本,则可以这样实现。
<script type="text/javascript">
window.onclick = function(e) {
var isButton = e.target.tagName;
if (isButton === "BUTTON") {
var text = e.target.innerText
document.getElementById("result").innerHTML = text;
}
};
我想使用 tagName 获取不带 id、class 或 jQuery 的按钮文本,并将这些文本写入 p 标签。我的简单测试代码如下。 我希望你明白我想做什么。
<button>Button 1</button>
<button>Button 2</button>
<p id="result" ></p>
<script type="text/javascript">
function tagName(tag){
var buttons = document.getElementsByTagName(tag);
var totalButton = buttons.length;
for(var i=0;i<totalButton;i++){
// here i want to check which button clicked?
}
};
tagName("button").onclick = function(){
document.getElementById("result").innerHTML = tagName("button").innerHTML;
}
</script>
你能帮我完成这段代码吗? 注意:我只有一个函数tagName()
尝试这样的事情:
var obj = document.getElementsByTagName("button");
for (let item of obj) {
item.onclick = function(){
document.getElementById("result").innerHTML = item.innerHTML;
}
}
<html>
<head>
<script>
function tagName(tag) {
var buttons = document.getElementsByTagName(tag);
var totalButton = buttons.length;
var r = []
for (var i = 0; i < totalButton; i++) {
// here i want to check which button clicked?
r.push(buttons[i])
}
return r;
};
function onLoad() {
tagName("button").forEach(function (item, idx) {
item.addEventListener('click', function () {
document.getElementById("result").innerHTML = item.innerHTML;
});
});
}
</script>
</head>
<body onload="onLoad()">
<button>Button 1</button>
<button>Button 2</button>
<p id="result"></p>
<script type="text/javascript">
</script>
</body>
</html>
我相信这会如你所愿。它使用更现代的 Javascript,因此它不适用于旧版本的 IE。
<button>Button 1</button>
<button>Button 2</button>
<p id="result" ></p>
<script type="text/javascript">
function setButtonEvents(){
let buttons = document.querySelectorAll("button"); // (returns a nodeList, like an array)
for(let b of buttons){
// here i want to check which button clicked?
b.onclick=buttonClicked;
}
};
function buttonClicked(e) {
document.getElementById("result").innerHTML = e.target.innerHTML;
}
setButtonEvents();
</script>
如果您尝试根据单击的按钮更改 p
标记文本,则可以这样实现。
<script type="text/javascript">
window.onclick = function(e) {
var isButton = e.target.tagName;
if (isButton === "BUTTON") {
var text = e.target.innerText
document.getElementById("result").innerHTML = text;
}
};