控制台可以用的代码,在油猴脚本实现不了功能
javascript吧
全部回复
仅看楼主
level 1
破空鸣岚 楼主
网上找的例程,改变一个元素的高度
有一句obj.onchange()会导致控制台有uncaught typeError,不懂啥意思
这句注释掉之后,代码粘到在控制台运行正常,但是在油猴脚本里发现不能实现功能
console打印元素观察发现,元素的属性改变了,但是没有在页面上渲染(?)表现出来
代码:
let t = setInterval(function () {
//设定循环定时器,1000毫秒=1秒,1秒钟检查一次目标对象是否出现
let obj = document.querySelector(".ant-table-body"); //声明要查询的对象
if (obj) {
//判断对象是否存在,存在则开始设置值
obj.style="max-height: 500px; overflow: auto scroll";
obj.onchange()
console.log(obj)
clearInterval(t); //清除循环定时器
}
}, 1000);
2024年03月29日 05点03分 1
level 8
ant-table-body是antd组件库的表格组件,内部用来放表格体的元素
document.querySelector(".ant-table-body")获取到的应该是div元素
div元素没有onchange,获取时他会返回null给你,你对null进行函数调用就会报错,typeerror是类型错误,后面的报错信息我猜是obj.onchange is not a function
2024年04月01日 07点04分 2
关键是div没有onchange,什么有呢,input,select,textarea,radio,,输入框选择框文本域单选框,这些可以选择,输入等操作的的元素才有
2024年04月01日 07点04分
只是改编高度的话,不用obj.onchange这一行,可以删掉
2024年04月01日 07点04分
又发现一个,max-height: 500px是最大高度,意思是不能超过500像素,它本身就小于500px的话,你看起来是没效果的,可见额效果可能是后面overflow给你的y轴多个滚动条
2024年04月01日 07点04分
谢谢回复哥们,很涨知识[哈哈]我这个实例的情况好像是加载顺序之类的问题,我是说他那个onchange我删掉了就没有实现改变高度嘛,实际上放个半分钟一分钟自己就变了,那句onchange可能刚好起到了要求页面加载一次之类的功能
2024年04月03日 02点04分
1