Greasemonkey/Javascript只执行了一半

Greasemonkey/Javascript只执行了一半,javascript,for-loop,greasemonkey,Javascript,For Loop,Greasemonkey,我想做的是改变各种元素/对象的表示方式 问题是脚本在特定点停止执行,我将在代码中标记它 // ==UserScript== // @name fix // @namespace http://www.domain.se // @description fix // @include * // ==/UserScript== var tablevar = document.getElementsByClassName('Table_new'); var

我想做的是改变各种元素/对象的表示方式

问题是脚本在特定点停止执行,我将在代码中标记它

// ==UserScript==
// @name          fix
// @namespace     http://www.domain.se
// @description   fix
// @include       *
// ==/UserScript==

var tablevar = document.getElementsByClassName('Table_new');
var elems = document.getElementsByClassName('TabNavigation');

for(var i = 0; i < elems.length; i++) {
    elems[i].style.height = '67px';
    } //<-- works just fine
for(var i = 1; i < tablevar.length; i++) {
        tablevar[i].width = '130px';
    } //<-- works just fine
document.getElementById('customerbottom').style.margin="100px 1px 1px 1px"; //<-- executes
tablevar[0].width = 'auto'; //<-- does not execute
wierd的想法是,当我为最后两行更改位置时,第一行就可以了。我就是不明白为什么剧本就这么停了

有什么帮助吗

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
EDIT2:解决了!
只使用常规语句,不针对一个特定对象,脚本就会运行,但只要我针对数组中的一个特定对象或通过ID,脚本就会停止。

DOM元素没有width属性

应该是吧

tablevar[0].style.width = 'auto';

修好了。在导入过程中错过了它应该是tablevar您确定不想执行tablevar[0].style.width吗?我也试过了。结果是一样的。只是给你举个例子。如果我移动它:**document.getElementById'customerbottom'.style.margin=100px 1px 1px;**从一开始,这将是唯一被执行的事情。以后发生的事情都不会执行。tablevar[0].style.width或[0].width也是如此。无论哪一个先出现,都会在该指令之后结束脚本。因此,您是说,如果.width=在margin=之前,那么它的赋值是有效的?Abe:不,我是说最后两行都是独立工作的。执行两个命令中的第一个命令,然后就不会发生其他任何事情。如果我移动tablevar[0],宽度=自动;在var声明之后,脚本将设置width=auto,并且不执行后面的任何操作。标签有一个宽度属性。谢谢,我认为这就是问题所在,但我放在那里的内容并不重要。所有单行参数都会终止脚本。