[英]Manipulating button via DOM, JavaScript
我試圖找到一個單擊按鈕的索引,以便可以操縱具有相同索引的其他元素,但是我不知道該怎么做!
HTML:
<body>
<div id="area">
<h1>JavaScript</h1>
<button class="knapp">Click!</button>
<p class="text">Adöfkljg ldjfögj jsdflkgjh kjddflkgjh dfgkjdöjg </p>
<button class="knapp">Click!!</button>
<p class="text">dfghödifgjöoeirugeöori dijfoidj oidoi odi!</p>
</div>
<script src="visa.js"></script>
</body>
JavaScript:
var text = document.getElementsByClassName("text");
var butt = document.getElementsByClassName("knapp");
window.onload = start();
function start(){
for (i=0; i<text.length; i++){
text[i].style.visibility = "hidden";
};
};
this.onclick = function(){
var index = butt.indexOf(this);
};
小提琴: http : //jsfiddle.net/x9LGG/2/
<div id="area">
<h1>JavaScript</h1>
<button class="knapp">Click!</button>
<p class="text">Adöfkljg ldjfögj jsdflkgjh kjddflkgjh dfgkjdöjg </p>
<button class="knapp">Click!!</button>
<p class="text">dfghödifgjöoeirugeöori dijfoidj oidoi odi!</p>
</div>
嘗試使用此JavaScript
,單擊某些按鈕時將獲得按鈕索引:
var button = document.getElementsByClassName("knapp");
var txt = document.getElementsByClassName("text");
for ( var i = 0; i < button.length; i++ ) (function(j){
button[j].addEventListener("click",function(){
console.log(j); // shows index
if ( txt[j].style.visibility == "hidden" ) { // show hides p element depend on button index
txt[j].style.visibility = "visible";
} else {
txt[j].style.visibility = "hidden";
}
},false);
})(i);
單擊第一個按鈕時將發出0
警報,而單擊第二個按鈕時將發出1
警報,因此您可以使用它來操縱其他元素(並且還隱藏某些p
元素)
注意:在此this.onclick...
腳本中, this
關鍵字指的是window
對象,以這種方式您無法實現目標
我建議為此使用jQuery。 jQuery具有內置方法來獲取索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.