javascript - 调用 window.Element.prototype.className 时调用 getter
问题描述
我试图在每次调用 Element.className 时调用一个 getter。我得出了这样的结论:
Object.defineProperty(window.Element.prototype, "className", {
get(value){
console.log(value);
debugger;
},
set(value){
console.log(value);
debugger;
}
});
但由于某种原因它不起作用。当我调用 somenode.className 时,我没有调用 getter。有任何想法吗?
解决方案
className
是实例的值,因此不会在原型中查找,而是在对象本身中查找:
lookup --> Instance --> Prototype
innerHTML querySelector
className querySelectorAll
id
... ...
您必须在您使用的每个实例上定义 getter/setter。
推荐阅读
- python - 如何使用循环当前引用的位置更新变量?
- python - 我的输出需要是这样的,它不像我需要的那样出现
- r - 数据框中的 R 汇总/计数组合并显示为列的新数据框/计数矩阵
- asp.net-core - .Net Core Spa 资源在相对路径上的路由
- numbers - 他们是否有任何优化算法来查找 tribonacci 系列的第 n 项(系列可以达到 10^18 项)
- nginx - Pagespeed 未优化部分网站图片
- android-studio - 仅当字符串包含 @ 时验证电子邮件
- mysql - 如何平均行?
- javascript - 如何更改 collada 模型的颜色?
- javascript - Javascript - 检查图像是否存在而不返回错误