1

jQuery を使用した完全な初心者で、少し問題があります。

一部のセルに が含まれるテーブルがあります(セルごとに複数選択することはありません)。

次のコードの select は、関数に渡された要素です。親を取得して、を削除して html に置き換えることができるようにしようとしています。

function submit_pick( select ) {
    var parent = select.parent().get(0);      
    select.remove();
    jQuery("#testdiv").html(parent.tagName);
    parent.html(parent.tagName);
}

select.remove();期待どおりに動作します

jQuery("#testdiv").html(parent.tagName);TDの生成も期待どおりに機能します

parent.html(parent.tagName);動作しません。Firefox の Web コンソールで、parent.html is not a function というエラーが表示されます。

4

5 に答える 5

2

.get(0)DOMElementオブジェクトではなくネイティブを返すため、内部jQueryをラップする必要があります(また、 が関数ではなく、jQuery オブジェクトに属していると不平を言う理由):parent$()html()html()DOMElement

jQuery(parent).html(parent.tagName);
于 2012-04-25T03:48:10.040 に答える
1

試す:


jQuery(parent).html(parent.tagName);
于 2012-04-25T03:47:47.933 に答える
0

parentはもう jQuery オブジェクトではありません。以下を使用する必要があります。

$(parent).html(parent.tagName);
于 2012-04-25T03:47:01.897 に答える
0

get は、jquery オブジェクトではなく dom 要素を返します。試す

var parent = select.parent().eq(0);      

eqインデックスでjqueryオブジェクトを提供します。これはあなたが望んでいたものです

于 2012-04-25T03:47:45.003 に答える
0

これは.get(0)、jquery オブジェクトではなく DOM 要素を返すようにしたためです。

http://api.jquery.com/get/

メソッドを再びjQuery(parent)使用できるようにするには、 を使用する必要があります。.html()

于 2012-04-25T03:48:46.660 に答える