21

次のコードの場合:

  <span class="map-marker" data-lng="101.7113506794"></span>
  <span class="map-marker" data-lng="101.6311097146"></span>

  var abc = $('.map-marker:first');
  var xyz = abc.getAttribute("data-lat");
  console.log(xyz);

次のエラー メッセージが表示されますTypeError: abc.getAttribute is not a function。私は何を間違えましたか?

4

7 に答える 7

44

これを試してみてください:

var abc = $(".map-marker:first")[0];
var xyz = abc.getAttribute("data-lat");
console.log(xyz);

またはこれ:

var abc = $(".map-marker:first");
var xyz = abc.data("lat");
console.log(xyz);
于 2013-08-10T15:12:07.300 に答える
24

abcjQuery オブジェクトなのでgetAttribute()機能はありません。機能がありattr()ます。

于 2013-08-10T15:13:33.583 に答える
10

私は何を間違えましたか?

jQuery オブジェクトをDOM 要素のように扱いました。jQuery オブジェクトにはメソッドがありませんgetAttribute.attr代わりにまたはを使用できます.data

于 2013-08-10T15:13:41.730 に答える
4

複数の要素を選択しています。select 関数は配列を返しますが、配列には getAttribute 関数がありません。for ループを使用して選択範囲を反復処理し、属性値を取得するか、インデクサー ([0] など) を使用して特定の属性を取得できます。

于 2013-08-10T15:12:00.880 に答える
3

「data-lat」を取得しようとしていますが、「data-lng」しか定義されていません。

于 2015-09-18T08:28:10.363 に答える