37

要するに: この TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element' の意味を理解しようとしています。

http://www.wiki.org.il/index.php?title=new-page&veaction=edit

このエラーでは、新しいページを作成したり、Wiki を匿名で編集したりすることはできません。ただし、別のスキンを使用すると、エラーが消えます。

http://www.wiki.org.il/index.php/Main_Page?useskin=vector

ウィキは 1.25alpha で動作します。

4

7 に答える 7

21

この同じエラーが表示されました。jQuery セレクターを通常の JavaScript に置き換えたところ、エラーが修正されました。

var this_id = $(this).attr('id');

交換:

getComputedStyle( $('#'+this_id)[0], "")

と:

getComputedStyle( document.getElementById(this_id), "")
于 2015-04-24T07:33:36.417 に答える
3

jQuery ではなく AngularJS でこのエラーが発生した場合:

AngularJS v1.5.8 で、存在しなかっng-includeたものを試して取得しました。type="text/ng-template"

 <div ng-include="tab.content">...</div>

ng-include を使用する場合、そのディレクティブのデータが実際のページ/セクションを指していることを確認してください。それ以外の場合は、おそらく次のことが必要でした。

<div>{{tab.content}}</div>
于 2017-11-03T14:02:41.710 に答える
1

私の場合、使用してClassNameいました。

getComputedStyle( document.getElementsByClassName(this_id)) //error

2 番目の引数がなくても機能します" "

ここに私の完全な実行コードがあります:

function changeFontSize(target) {

  var minmax = document.getElementById("minmax");

  var computedStyle = window.getComputedStyle
        ? getComputedStyle(minmax) // Standards
        : minmax.currentStyle;     // Old IE

  var fontSize;

  if (computedStyle) { // This will be true on nearly all browsers
      fontSize = parseFloat(computedStyle && computedStyle.fontSize);

      if (target == "sizePlus") {
        if(fontSize<20){
        fontSize += 5;
        }

      } else if (target == "sizeMinus") {
        if(fontSize>15){
        fontSize -= 5;
        }
      }
      minmax.style.fontSize = fontSize + "px";
  }
}


onclick= "changeFontSize(this.id)"
于 2018-07-17T08:16:05.810 に答える
-35

エラー メッセージは非常に単純です。getComputedStyleは、最初の引数としてElementを想定していますが、別のものが渡されました。

本当に求めているのがスキンのデバッグに関するヘルプである場合は、エラーを特定するためにもっと努力する必要があります。

于 2015-03-22T23:26:50.977 に答える