簡體   English   中英

通過DOM,JavaScript操作按鈕

[英]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元素)

JSFiddle

注意:在此this.onclick...腳本中, this關鍵字指的是window對象,以這種方式您無法實現目標

我建議為此使用jQuery。 jQuery具有內置方法來獲取索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM