簡體   English   中英

Prototype JS中每個函數中的“ this”

[英]'this' inside each function in Prototype JS

我正在嘗試使用example選擇器查找div元素,該example選擇器還具有代碼中指示的active選擇器。

與原型JS this返回windows.object ,而不是一個單獨的DIV本身。

如何讓我this是指每個div元素,這樣我可以用它玩?

$$('.example').each(function() {
    if(this.hasClassName('active')) {
        this.previous().setStyle({border:'1px solid #999'})
    }
});

http://api.prototypejs.org/language/Enumerable/prototype/each/

要訪問該元素,不需要更改迭代器函數的上下文( this )。 迭代器函數將該項作為第一個參數接收。 您只需要命名參數即可。

$$('.example').each(function(div) {
    if(div.hasClassName('active')) {
        div.previous().setStyle({border:'1px solid #999'})
    }
});

另外,您可以通過更新傳遞給$$的CSS選擇器來刪除條件:

$$('.example.active').each(function(activeDiv) {
    activeDiv.previous().setStyle({border:'1px solid #999'})
});

如果您有興趣在函數內部控制this的值,請簽出callapplybind

暫無
暫無

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

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