0

私はこれを見つめて夢中になります。要素の属性を変更する必要があります。これは、以前に何度も行ったことです。しかし、それは失敗します。今では、jqueryに属性を表示させることさえできません。find()によって返されるものと関係がありますか?

var c = new_photo_div.find('[class = photo]')[0];
alert(c);
alert(new_photo_div.attr('class'));
alert(c.attr('class'));

最初のアラートは要素を正しく識別します:Object HTMLImageElement

2番目のアラートは、new_photo_divのクラスを正しく示します。

3番目のアラートは失敗します。アラートはありません。

私はそれが言うべきだと思います:写真

4

3 に答える 3

2

これは、cがjQueryオブジェクトではないためです。[0]jQueryオブジェクトをに割り当てるには削除しますc

于 2012-10-13T09:32:50.773 に答える
1

new_photo_div.find('[class = photo]')[0]jqueryオブジェクトではなくDom要素を使用しています。これを試して

$(c).attr('class');
于 2012-10-13T09:32:26.667 に答える
0

ブラウザコンソールでは、エラーが発生していましたが、

とにかく、attrはjQueryのメソッドであり、[0]を実行しないでください。

また、新しいjqueryライブラリを使用している場合は、.attrの代わりに.propを使用できます。

于 2012-10-13T09:41:09.010 に答える