![](/img/trans.png)
[英]Question regarding “this” inside anonymous function of prototype.js .each method
[英]'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
的值,請簽出call
, apply
和bind
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.