2017-06-26 9 views
1

次のスクリプトはjqueryが背景色を変更しないのはなぜですか?

<script type="text/javascript"> 
$("mte").css("background-color", "red"); 
</script> 
<body> 
<div id='mte'>test 123</div> 
</body> 
+2

可能な重複してください[なぜjQueryのかなgetElementByIdをなどのDOMメソッドは要素が見つかりませんの?](https://stackoverflow.com/questions/14028959/why-does- jquery-or-a-dom-method-getelementbyid-not-find-the-element) – Bugs

答えて

2

スクリプトを実行すると、タグがまだ作成されていないを実行しません。 divタグの後ろにスクリプトを置きます。また、jQuery式にハッシュ記号がありませんでした。

<div id='mte'>test 123</div> 
<script type="text/javascript"> 
    $("#mte").css("background-color", "red"); 
</script> 

そうでない場合$(document).ready()方法を使用するので、このスクリプトは、ページがすべてのタグがロードされた後にのみ実行されます。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#mte").css("background-color", "red"); 
    }); 
</script> 
<div id='mte'>test 123</div> 
0
<script type="text/javascript"> 
    document.getElementById("mte").style.backgroundColor = "red"; 
</script> 
<body> 
<div id='mte'>test 123</div> 
</body> 
+1

document.getElementById( "mte")。style.backgroundColor = "red"; はなぜ背景色を変更しないのですか? – user7213284

+0

あなたはそれを有効にする必要があります –

+0

test 123

0

jQueryのセレクタが正しくありません。

あなたはこれでそれを選択する必要があります

$("#mte") 

IDを持つ要素を選択することがありますこと。 CSSとまったく同じです。存在しないタグ名がmteのHTML要素のリストを選択しようとしました。同様に、クラスセレクタの前にはピリオドまたはフルストップ(.)があります。

完全なコードは以下の通りです:

$("#mte").css("background": "#ff0000"); 

あなたは複数回の選択を使用している場合にも、定数に選択を割り当てます。

const mte = $("#mte"); 
mte.css("background": "#ff0000"); 

参照W3学校のjQueryのセレクタガイド:https://www.w3schools.com/jquery/jquery_ref_selectors.asp

幸運!

0

のこの1

<body> 
<div id='mte'>test 123</div> 
</body> 

<script> 
$("#mte").css("background-color", "red"); 
</script> 
関連する問題