简体   繁体   English

我如何制作一个动态的吸气剂/吸气剂

[英]How can I make a dynamic getter/setter

I already know how getters/setters work. 我已经知道吸气剂/吸气剂的工作原理。 for example, making inneHTML work on NodeLists 例如,使inneHTML在NodeLists上工作

Object.defineProperty(NodeList.prototype,'innerHTML',{set:function(a,b){for(b in this)if(this[b])this[b]['innerHTML']=a}})

I would like to make an object that outputs something based on the property that is being accessed. 我想创建一个对象,该对象根据所访问的属性输出某些内容。

ex: 例如:

dynamicGetter = function(property){return querySelectorAll(property)}
myObject["div>ul>li>a"][0].innerHTML = "foo"
myObject.div[0].style.background="red"

How can I do that? 我怎样才能做到这一点? Is it possible? 可能吗?

Here is how to do it: Currently, this only works in firefox :( 方法如下:目前,这仅在firefox中有效:(

myObject = Proxy.create({
  get: function(x,property) {
    return document.querySelectorAll(property);
  }
});

myObject["div>ul>li>a"][0].innerHTML = "foo"
myObject.div[0].style.background="red"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM