[英]using onClick to get the id of the clicked button in javascript
Iam交換按鈕的值以及按鈕的.innerHTML,但是這樣做效率不高。 像這樣 :
function btnswap2()
{
var soft=document.getElementById('1');
var hard=document.getElementById('2');
var temp;
var temp1;
var flag=0;
if(soft.id==1)
{
temp1=soft.innerHTML;
soft.innerHTML=hard.innerHTML;
hard.innerHTML=temp1;
temp=soft;
soft=hard;
hard=soft;
showHARD();
}
}
現在我可以獲取運行時單擊的按鈕的ID了,因為您可以看到每次單擊按鈕時按鈕都會被交換。 問題是我必須在這里調用其他函數(在這種情況下,如果很難,則應該很困難,否則應調用柔軟)
showHARD();
showSOFT();
我該如何實現??? 我的按鈕ID如下:BTN:ID
SOFT: 1
HARD: 2
TRAI: 3
STAT:4
嘗試將類添加到靜態按鈕:
<button id="1" >button1</button>
<button id="2" >button2</button>
<button id="3" >button3</button>
<button id="4" class="static" >button4</button>
然后用jQuery:
$(document).ready(function(){
$("button").click(function(){
if($(this).hasClass("static")){
showSTAT();
}else{
btnswap2(this);
if($(this).attr("id")=="1")
showSOFT();
else if($(this).attr("id")=="2")
showHARD();
else
showTRAI();
}
});
});
function btnswap2(btn){
var stat=$('button.static');
var temp;
temp=btn.html();
btn.html(stat.html());
stat.html(temp1);
stat.removeClass("static");
btn.addClass("static");
}
不要在btnswap2()函數中調用showSOFT()或showHARD()!
這樣,您將始終獲得靜態按鈕,並且僅當交換的按鈕不是靜態按鈕時,它才會交換。
我想您想做的是這樣的:
HTML
--------
static:
--------
<div id="1" >button A</div>
--------
live:
--------
<div id="2" onClick="btnswap2(this.id)">button B</div>
<div id="3" onClick="btnswap2(this.id)">button C</div>
<div id="4" onClick="btnswap2(this.id)">button D</div>
JavaScript的
function btnswap2(id){
var temp = document.getElementById("1").innerHTML; // static button
var clicked_label = document.getElementById(id).innerHTML;
document.getElementById("1").innerHTML = clicked_label;
document.getElementById(id).innerHTML = temp;
}
小提琴在這里: http : //jsfiddle.net/n5UDu/6/
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.