2011-11-11 12 views
0

要素にいくつかのコードを追加する関数があります。問題は、jQueryのセレクタ($('.wdcl'))を使用するとうまくいきますが、新しい要素を作成して関数に送信すると機能しません。ここでjQuery HTMLLIElementオブジェクトからコードを取得

はHMTLファイルに埋め込まコードです:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#menu li a').click(function(){ 
      //... 
      var $newItem = $('<li id="TEST" class="widget color-blue"></li>').appendTo($(columns).first()); 
      obj.doWidget($newItem.get(0));    
      return false; 
     }); 
    }); 
</script> 

そしてここでは、.jsファイル内のコードである(addWidgetControls機能はどこか別の場所から呼び出され、私もいつでもdoWidget機能を実行したいです。メニュー項目は)別のウィジェットを追加します。

addWidgetControls: function() { 
    var func = this.doWidget; 

    $('.widget', $('.column')).each(function() { 
     func(this); 
    }); 
}, 

doWidget: function (wid) { 
    alert(wid); 
     //... 
    } 

ので、私は間違った構文を使用している場合は、それ以外の場合は、あるものを見るために、私は渡されたオブジェクトからソースをプリントアウトすることができる方法を教えてください、私に知らせてください違う。ありがとうございました。

+0

'$ newItem'はjQueryオブジェクトです。それを '$(...)'の中にラップするのは役に立たない。 – pimvdb

+0

とにかく動作するようです:http://jsfiddle.net/ePaFm/。あなたはその問題について詳しく説明できますか? – pimvdb

+0

'obj.runFunc'に何を渡そうとしていますか? '$ newItem.get(0)'は要素 '$ newItem'のjavascriptオブジェクト/バージョンを返します。あなたはjsオブジェクトまたはhtml文字列 '

  • 'が必要ですか? –

    答えて

    0

    を使用しないでください、私は$newItem.get(0).outerHTMLを使用し、それが働きました。

    0

    これはobj.doWidget()の機能によって異なります。それは与えられた要素は、jQueryの要素であることを疑う場合は、IE9ではget(0)

    get()Retrieve the DOM elements matched by the jQuery object. So it isn't a jQuery object

    +0

    問題は、これらのどれも動作しないことです。 objecのソースを取得する方法を知りたいので、問題の原因を確認できます。 –

    関連する問題