0

このhttps://stackoverflow.com/a/6398848/1406888の javascript の省略形に関する以前の質問に対する回答を見つけましたが、うまくいきません。Firefox 開発者のコ​​ンソールで同じ省略形を使用すると機能するため、理解できません。

これが私が使用しているコードの短い例です

<div id="list1">
<li>pres</li>
<li>mike</li>
<li>camel</li>
<li>week</li>
</div>

<p></p>
<div id="list2">
<li>time</li>
<li class="test">era</li>
<li>people</li>
<li>life</li>
</div>

<p></p>
<div id="list3">
<li>time</li>
<li class="test">era</li>
<li>people</li>
<li>life</li>
</div>

<script type="text/javascript">

var testId = document.getElementById("list1");
testId.style.borderStyle="solid";
$("#list2").style.borderStyle="solid";

$("list3").style.borderStyle="solid";

</script>

機能するのは list1 ボーダーだけです。他のものは失敗します。誰かが私を修正してもらえますか。

これで作業テンプレートができました。これが私のコードです:

<div id="list1">
<li>pres</li>
<li>mike</li>
<li>camel</li>
<li>week</li>
</div>

<p></p>
<div id="list2">
<li>time</li>
<li class="test">era</li>
<li>people</li>
<li>life</li>
</div>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">

var testId = document.getElementById("list1");
testId.style.borderStyle="solid";
//$("#list2").style.borderStyle="solid";   this does not work
$("#list2").css("border-Style","solid");   this works.
</script>

ちょうど私はこれをまっすぐにします。getElementById に代わるものはありませんか??? 交換可能な省略形だと思っていましたが、私の例では、JQuery 省略形の .css プロパティでのみ機能します。

4

7 に答える 7

3

$ を document.getElementById の省略形として使用できるようにしたいだけで、主要な JavaScript ライブラリの機能を実際に必要としない場合は、これをページに追加します。

function $(a){return document.getElementById(a);}

大量の入力を節約します。

于 2012-06-27T05:09:18.397 に答える
0

このショートカットを提供するには、いくつかのライブラリが必要です (jQuery など)。コア言語やブラウザには組み込まれていません。

また、jQuery の場合は、次のようになります$('#list3')(ノード ID だけでなく、あらゆる種類のセレクターを使用できます)。

于 2012-06-27T05:06:59.967 に答える
0

この表記法を使用するには、ページに JQuery を含める必要があります。

于 2012-06-27T05:07:27.423 に答える
0

ここで説明した構文には、jQuery JavaScript ライブラリが必要です。これが機能する前に、ライブラリをダウンロードしてインポートするか、HTML で jQuery コード バンクに直接リンクする必要があります。HTML ファイルの先頭に次の行を追加します。

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
于 2012-06-27T05:09:03.737 に答える
0

jqueryライブラリを追加。$はコア機能に含まれていない -

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">

var testId = document.getElementById("list1");
testId.style.borderStyle="solid";
$("#list2").style.borderStyle="solid";

$("list3").style.borderStyle="solid";

</script>

または、JSが苦手な場合は、この方法で実行してください----

var testId1 = document.getElementById("list1");
var testId2 = document.getElementById("list2");
var testId3 = document.getElementById("list3");
testId1.style.borderStyle="solid";
testId2.style.borderStyle="solid";
testId3.style.borderStyle="solid";
于 2012-06-27T05:09:40.123 に答える
0

IMO:jqueryでこのようにする必要があります

$("#list2").css("border-Style","solid")

$("#list3").css("border-Style","solid")

IDを持つ要素にアクセスしている場合は、jquery#でIDを追加してください。

于 2012-06-27T05:20:12.437 に答える
0

jquery cssメソッドを使用して境界線のスタイルを設定してみてください。

<script type="text/javascript">
  $(document).ready(function(){
    $("#list2").css("border-style","solid");
  });
</script>
于 2012-06-27T05:22:26.350 に答える