2

私は、要件のために jquery コードを Java スクリプトに変換する作業に携わっています。

例 1 :

ID が「parent_elem」の親 html div 内に、クラス名が「child_elems」の子要素がいくつかあります。子要素の幅を動的に変更する必要があります。jquery コードは次のようになります。

 $(#parent_elem).find(.child_elems).each(function(){
    $(this).css("width","50px");
 });

サンプル JavaScript:

var parentelem = document.getElementById("parent_elem");

var childelems = parentelem.getElementsByClassName("child_elems");

for(var i=0;i<childelems.length;i++)
   childelems[i].style.width = "50px";

これは機能しますが、これが効率的な方法であるかどうかはわかりません。

for ループを使用せずに同じタスクを実行できますか? javascriptの.each,.nextに相当するものはありますか?.find

私はjavascriptとjqueryにも非常に慣れていないので、提案に感謝します。

4

3 に答える 3

2

必要に応じてこれを行うことができます。jQuery は、javascript の上にある単なるレイヤーです。jQuery を書くときは、javascript を書いていることになります。

本当にこのルートをたどる必要がある場合は、jQuery のソースを確認すると役立つ場合があります。James Padolsey は、jQuery が提供するさまざまなメソッドを検査するための非常に役立つツールを作成しました。ツールはhttp://james.padolsey.com/jquery/#v=git&fn=jQuery.fn.nextで確認できます。

jQuery チームは、コードを複数のブラウザーで効率的に動作させるために何年も費やしてきたことを覚えておいてください。コードがブラウザ間で失敗しても驚かないでください。

于 2013-07-01T11:56:17.477 に答える