1

jQuery を使用する場合、どのように DOM のナビゲートに戻るのでしょうか。たとえば、次のようなアイテムの親を見つけたとします。

$(this).parent()

「foobar」という ID を持つものをどのように見つけることができますか。私はもう試した:

$(this).parent().$('foobar').addClass('hello')

しかし、私はメッセージを受け取ります:

キャッチされていない TypeError: オブジェクト [オブジェクト オブジェクト] にはメソッド '$' がありません
4

2 に答える 2

1

ID は一意である必要があります。ID で要素を選択するには ID セレクターを使用できます$('#foobar')が、親要素内の要素を検索する場合は、findメソッドを使用できます。

$(this).parent().find('#foobar').addClass('hello');

これは次と同じです:

$('#foobar').addClass('hello');

複数の要素に ID を使用している場合、ドキュメントは無効であることに注意してください。代わりにクラスを使用する必要があります。

$(this).parent().find('.foobar').addClass('hello');
于 2012-12-01T04:36:12.293 に答える
0

id は一意である必要があるため、document.getElementById("foobar")以前に複数の出現を見つけてこれを使用する必要がありました。

/* returns an array of all elements with id */
function getElementsById(id){
  var t=document.getElementsByTagName("*"),a=[]
  for(var i=0;i<t.length;i++)
    if(t[i].id==id)a[a.length]=t[i]
  return a
}

注: 新しいコードを作成している場合、クラスには getElementsByClassName が組み込まれています (複数あることが予想されるため)。

編集:これはに減らすことができますdocument.querySelectorAll("#id")

于 2012-12-01T04:55:52.807 に答える