1

これは Firebug でのテスト実行です。jQuery オブジェクトを動的に作成しようとしていて、クラスまたは ID セレクターを使用してその一部を見つけようとしています。find() 呼び出しで空の結果が返されることに注意してください。

>>> var testhtml = '<div class="oggi">h</div>'
undefined
>>> $(testhtml)
[div.oggi]
>>> $(testhtml).find(".oggi")
[]
>>> var testhtml2 = '<div id="yggi">hjhj</div>'
undefined
>>> $(testhtml2)
[div#yggi]
>>> $(testhtml2).find("#yggi")
[]

これは、ブラウザのメイン DOM ツリーに接続されていない html でいくつかの jQuery 操作を実行できないためと解釈する必要がありますか? これを機能させるために使用できる他のトリックはありますか?

HTMLに一時的なdivを作成し、そこにデータをロードしてからfind()を実行することで、うまく機能するものを手に入れることができました。

私の実際のタスクは、ajax を使用して html をロードし、そのさまざまな部分を Web ページのさまざまな場所にコピーすることです。

4

1 に答える 1

2

.find()子を見つけるために使用されます.filter()。代わりに使用してください。

var testhtml = '<div class="oggi">h</div>';

// if you want to check it whether has a class, use    
console.log($(testhtml).is(".oggi"));

// or you could use filter to get the element you want.
console.log($(testhtml).filter('.oggi'));
于 2012-09-25T09:18:02.507 に答える