1

次のコードを使用してIDで要素にアクセスしている場合。

$("#container_svg_John_0")

インデックス「0」の要素を含むオブジェクトを返します。[0] のオブジェクトである要素が含まれます。場合によっては、他の要素を見つけると要素が直接返されることを知りたいです(つまり、DOM要素が返されます)。それらの違いは何ですか。

これの id にアクセスしている場合、undefined が返されます。

$("#container_svg_John_0").id

しかし、これを次のように書き換えると

$("#container_svg_John_0")[0].id

要素のIDを返します。上記のようにアクセスするたびに。[0] を指定する代わりに、"0" 番目の位置に単一の要素のみを含むオブジェクトにアクセスするにはどうすればよいですか? また、他の場合はどのように異なりますか?

4

4 に答える 4

4

$("#container_svg_John_0")idプロパティを持つjQueryオブジェクトです。

$("#container_svg_John_0")[0]プロパティを持つ dom 要素を返しidます。

したがって、基本的に以下は次のとおりですtrue

$("#container_svg_John_0").attr('id') === $("#container_svg_John_0")[0].id
于 2013-04-26T09:25:02.593 に答える
1

jquery オブジェクトを正しく使用していません - 正しい方法は次のとおりです。

$("#container_svg_John_0").attr('id');

これは DOM 要素$("#container_svg_John_0")[0]であるため、呼び出すことは有効です

$("#container_svg_John_0")[0].id

于 2013-04-26T09:25:31.680 に答える
0

jquery オブジェクトを DOM 要素に変換するには、次のようにします。

var dom_elem = $("#container_svg_John_0").get(0);

alert(dom_elem.id);

jQuery オブジェクトの属性にアクセスする場合は、次のようにします。

$("#container_svg_John_0").attr('id')
//or
$("#container_svg_John_0").attr('class') //etc etc

しかし、あなたはすでにcontainer_svg_John_0内部$("#container_svg_John_0")セレクターを持っています:D

于 2013-04-26T09:26:45.120 に答える
0

$("#container_svg_John_0")attr()jQueryオブジェクトであるため、そのIDを取得するために使用する必要があります...

$("#container_svg_John_0").attr('id');

一方、

$("#container_svg_John_0")[0][0].iddom オブジェクトを返すため、最初の要素の ID を取得するために使用する必要があります 。

于 2013-04-26T09:27:06.033 に答える