0
サイトを読み込んで親要素のスタイルを変更したいと思います。親のjquery change css
HTML
<p><script>setBGColor("True");</script>test</p>
JS
function setBGColor(status){
if (status == "True")
$(this.parent).css("background", "green");
}
しかし、いくつかの理由:私はそれのよう可能だろうと思いました。緑色にならない。何故なの?
これはうまくいきません。これは、キーワード 'this'があなたの関数の文脈で参照しているもののためです。 'this'キーワードは、関数のコンテキスト内で使用されるとき、一般にその関数を呼び出したオブジェクトを参照します。スクリプトタグ内で呼び出すので、ウィンドウオブジェクトを参照します(グローバルコンテキストで実行しています)。したがって、 'this.parent'(または' this.parentNode')は "未定義"になります。あなたがしようとしていることをやり遂げる方法があるかもしれませんが、それは面倒でお勧めできません。 –
ここでは、グローバルコンテキストの['this''](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this#Global_context)についてもう少し詳しく説明します。 'this'は評価中) –
また、私はあなたが背景色をしたいと思う。 – nurdyguy