-1

この各ステートメントは、オブジェクト(配列)を渡す大きな関数の一部です。問題は、ページ上のdom要素に渡される子オブジェクトの値の配列を比較しようとしていることです。要するに、2つのアレイを比較するにはどうすればよいですか?渡された配列(子)の値がページにないか、domにない場合は、値をDOMに追加します。値がすでにDOMにある場合は、何もしません。

$.each(children,function(){
            for (var i in children){
                var the_child = children[i];
                var the_child_check = $("#" + the_child.id, self.container);

          }

          if(self.container.children.length >=0){

              self.container.tabs('add', '#' + the_child.id, the_child.label);

          }else{

              self.container.tabs('remove', '#' + the_child.id);
});

このロジックの実装方法を理解したら、これを関数の適切な場所に組み込むことができるはずです。

<div id="tabcontainer">
                       <ul id="tab1">
                           <li>tab 1</li>
                       </ul>
                        <ul id="tab2">
                           <li>tab 1</li>
                       </ul>

</div>

これは、htmlがどのように構築されるかの基本的な例です。各タブは、渡された配列オブジェクト(子)に基づいて動的に生成されます

4

2 に答える 2

1

あなたの例では

これは、以前に設定したことを前提としていますself

// i gets index, val receives the item of the current iteration
$.each(children, function(i, val) {
    // code
    if (self.container.find(val)) {
       // item exists in dom
    } else {
       // item does not exist in dom
    }
});
于 2013-01-16T15:31:14.553 に答える
0

http://docs.jquery.com/Utilities/jQuery.inArray

Here is jquery inArray,

$(document).ready(function(){

    var arr = [ 4, "Pete", 8, "John" ];

    $("span:eq(0)").text(jQuery.inArray("John", arr));
    $("span:eq(1)").text(jQuery.inArray(4, arr));
    $("span:eq(2)").text(jQuery.inArray("David", arr));

  });
于 2013-01-16T15:33:05.920 に答える