Javascript使特定类的所有div中的所有图像的大小加倍
因此,我编写了这个javascript,以将特定类的所有div中的所有图像的大小增加一倍。这是我想到的Javascript使特定类的所有div中的所有图像的大小加倍,javascript,greasemonkey,userscripts,Javascript,Greasemonkey,Userscripts,因此,我编写了这个javascript,以将特定类的所有div中的所有图像的大小增加一倍。这是我想到的 var lmnts = document.getElementsByTagName('*'), i; for (i in lmnts) { if((' ' + lmnts[i].className + ' ').indexOf(' ' + 'ClassName' + ' ') > -1) { var images = document.lmnts[i].getEl
var lmnts = document.getElementsByTagName('*'), i;
for (i in lmnts) {
if((' ' + lmnts[i].className + ' ').indexOf(' ' + 'ClassName' + ' ') > -1) {
var images = document.lmnts[i].getElementsByTagName('img');
for(var j=0; j<images.length; j++)
{
images[j].height *= 2;
images[j].width *= 2;
}
}
}
var lmnts=document.getElementsByTagName('*'),i;
对于(我在lmnts){
if(“”+lmnts[i].className+“”).indexOf(“”+'className'+“”)>-1){
var images=document.lmnts[i].getElementsByTagName('img');
对于(var j=0;j而言,一个主要问题是var images=document.lmnts[i].getElementsByTagName('img');
行
lmnts
是一个变量,不是文档的属性
它应该读取var images=lmnts[i].getElementsByTagName('img');
此外,您可以使用document.getElementsByClassName('className')
或更现代的document.querySelectorAll('className'),而不是手动循环DOM中的所有元素并手动测试className
是否包含所需的类
。使用第二种方法,您还可以使用document.querySelectorAll('.ClassName img')
一次性选择所有图像
因此,您的所有代码都可以简化为
var images = document.querySelectorAll('.ClassName img');
for (var j = 0; j < images.length; j++){
images[j].height *= 2;
images[j].width *= 2;
}
关于它不起作用呢?错误消息?什么也不起作用吗?ClassName
真的是您要搜索的类名吗?显示问题的HTML示例是什么?(提示:)“无法让它起作用”这不是一个有用的问题陈述。正在发生什么,没有发生什么,你到底希望发生什么,你在JS开发人员控制台上看到任何错误吗?什么都不做。这是一个用户脚本。Ok完成了它的dbg。它在var images=document.lmnts[i]处失败。getElementsByTagName('img'))
lol.有那么简单吗?但是我还是无法让它工作。有人能在干净的html代码上确认这一点吗?我只想排除网站特定的问题。另外,这是一个用户脚本,可以将4chan.org中所有类fileThumb
的图像大小加倍。
var images = document.querySelectorAll('.fileThumb img');
for (var j = 0; j < images.length; j++){
var image = images[j],
initialWidth = parseInt(image.style.width, 10),
initialHeight = parseInt(image.style.height, 10);
image.style.width = (initialWidth * 2) + 'px';
image.style.height= (initialHeight * 2) + 'px';
}