オブジェクト名でオブジェクトプロパティを動的に取得するにはどうすればよいですか?

Ivanトピック

私はWordPressを使用していますが、JSにはこれの複数のインスタンスがあり、PHPからJSにデータを渡します

<script type='text/javascript'>
/* <![CDATA[ */
var googlemaps_165 = {"markers":[[....]],"zoom":""};
var googlemaps_169 = {"markers":[[....]],"zoom":""};
/* ]]> */
</script>

HTMLではこれがあります

<div class="wpmaps wpmaps--165" data-id="googlemaps_165"></div>
<div class="wpmaps wpmaps--169" data-id="googlemaps_169"></div>

JSでは、このように手動でデータを操作できました

var markers = googlemaps_165.markers

しかし、どうすればこれを動的に行うことができますか?

var wpmaps = document.querySelectorAll('.wpmaps');

for (var i = 0; i < wpmaps.length; ++i) {

    // this gives me "googlemaps_165" which is correct
    var dataName = wpmaps[i].getAttribute('data-id');

    // But I can't do this since dataName in this case is only a name, I can't access it this way
    var markers = dataName.markers;

}
またはドロリ

グローバル変数はwindowオブジェクトのプロパティであり、角かっこ([])表記を使用して動的にアクセスできます

var wpmaps = document.querySelectorAll('.wpmaps');

for (var i = 0; i < wpmaps.length; ++i) {

  // this gives me "googlemaps_165" which is correct
  var dataName = wpmaps[i].getAttribute('data-id');

  // But I can't do this since dataName in this case is only a name, I can't access it this way
  var markers = window[dataName].markers;

  console.log(markers);
}
<script type='text/javascript'>
  /* <![CDATA[ */
  var googlemaps_165 = {
    "markers": [
      [1]
    ],
    "zoom": ""
  };
  var googlemaps_169 = {
    "markers": [
      [2]
    ],
    "zoom": ""
  };
  /* ]]> */
</script>
In HTML I have this

<div class="wpmaps wpmaps--165" data-id="googlemaps_165"></div>
<div class="wpmaps wpmaps--169" data-id="googlemaps_169"></div>

NodeList.forEach()forループの代わりにノードを反復処理data-idし、要素データセットを介してviaにアクセスすることもできます

document.querySelectorAll('.wpmaps')
  .forEach(function(wpmap) {
    var dataName = wpmap.dataset.id;
    
    var markers = window[dataName].markers;
    
    console.log(markers);
  });
<script type='text/javascript'>
  /* <![CDATA[ */
  var googlemaps_165 = {
    "markers": [
      [1]
    ],
    "zoom": ""
  };
  var googlemaps_169 = {
    "markers": [
      [2]
    ],
    "zoom": ""
  };
  /* ]]> */
</script>
In HTML I have this

<div class="wpmaps wpmaps--165" data-id="googlemaps_165"></div>
<div class="wpmaps wpmaps--169" data-id="googlemaps_169"></div>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

プロパティ名でオブジェクトのプロパティの値を取得するにはどうすればよいですか?

分類Dev

オブジェクトプロパティのプロパティ名をオンにするにはどうすればよいですか?

分類Dev

Javascript / AngularJSでfooをオブジェクトプロパティ名と動的に等しく設定するにはどうすればよいですか?

分類Dev

オブジェクトのプロパティを更新するにはどうすればよいですか?

分類Dev

単一の式で動的オブジェクトから静的プロパティを取得するにはどうすればよいですか?

分類Dev

URL名でオブジェクトプロパティの値を取得するにはどうすればよいですか?

分類Dev

取得したオブジェクトのプロパティをプロパティシートに表示するにはどうすればよいですか?

分類Dev

オブジェクトの属性にオブジェクトプロパティを追加するにはどうすればよいですか?

分類Dev

C#-複合オブジェクトのプロパティの名前を取得するにはどうすればよいですか?

分類Dev

FastMemberを使用して動的オブジェクトのプロパティを取得するにはどうすればよいですか?

分類Dev

オブジェクト内のオブジェクトのプロパティにアクセスするにはどうすればよいですか

分類Dev

JSONオブジェクトプロパティを返すにはどうすればよいですか

分類Dev

要素のクリックでオブジェクトのプロパティを取得するにはどうすればよいですか?

分類Dev

Javascriptオブジェクトプロトタイプのプロパティを取得するにはどうすればよいですか?

分類Dev

サブオブジェクトから事前定義されたプロパティを取得するにはどうすればよいですか?

分類Dev

2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?

分類Dev

オブジェクト内のネストされたプロパティのキーパスを取得するにはどうすればよいですか?

分類Dev

PHPオブジェクトのプロパティ名を動的に書き込むにはどうすればよいですか?

分類Dev

オブジェクトリストから配列に複数のプロパティを取得するにはどうすればよいですか?

分類Dev

CustomAttributeをすべてのオブジェクトプロパティに動的に追加するにはどうすればよいですか?

分類Dev

Groovyのオブジェクトからネストされたプロパティ値を取得するにはどうすればよいですか?

分類Dev

リストにジェネリックオブジェクトのプロパティを設定するにはどうすればよいですか?

分類Dev

JavaScriptのプロパティでオブジェクトのインデックスを取得するにはどうすればよいですか?

分類Dev

Javascriptでオブジェクトに動的プロパティを設定するにはどうすればよいですか?

分類Dev

Newtownsoftを使用して、プロパティ名なしでオブジェクトをシリアル化するにはどうすればよいですか?

分類Dev

TypeScriptでオブジェクトにプロパティを動的に割り当てるにはどうすればよいですか?

分類Dev

Swiftの定数Decodableオブジェクトにプロパティを動的に追加するにはどうすればよいですか?

分類Dev

オブジェクトのプロパティ名が存在することを確認するにはどうすればよいですか?

分類Dev

オブジェクトのプロパティタイプを動的に変更するにはどうすればよいですか?

Related 関連記事

  1. 1

    プロパティ名でオブジェクトのプロパティの値を取得するにはどうすればよいですか?

  2. 2

    オブジェクトプロパティのプロパティ名をオンにするにはどうすればよいですか?

  3. 3

    Javascript / AngularJSでfooをオブジェクトプロパティ名と動的に等しく設定するにはどうすればよいですか?

  4. 4

    オブジェクトのプロパティを更新するにはどうすればよいですか?

  5. 5

    単一の式で動的オブジェクトから静的プロパティを取得するにはどうすればよいですか?

  6. 6

    URL名でオブジェクトプロパティの値を取得するにはどうすればよいですか?

  7. 7

    取得したオブジェクトのプロパティをプロパティシートに表示するにはどうすればよいですか?

  8. 8

    オブジェクトの属性にオブジェクトプロパティを追加するにはどうすればよいですか?

  9. 9

    C#-複合オブジェクトのプロパティの名前を取得するにはどうすればよいですか?

  10. 10

    FastMemberを使用して動的オブジェクトのプロパティを取得するにはどうすればよいですか?

  11. 11

    オブジェクト内のオブジェクトのプロパティにアクセスするにはどうすればよいですか

  12. 12

    JSONオブジェクトプロパティを返すにはどうすればよいですか

  13. 13

    要素のクリックでオブジェクトのプロパティを取得するにはどうすればよいですか?

  14. 14

    Javascriptオブジェクトプロトタイプのプロパティを取得するにはどうすればよいですか?

  15. 15

    サブオブジェクトから事前定義されたプロパティを取得するにはどうすればよいですか?

  16. 16

    2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?

  17. 17

    オブジェクト内のネストされたプロパティのキーパスを取得するにはどうすればよいですか?

  18. 18

    PHPオブジェクトのプロパティ名を動的に書き込むにはどうすればよいですか?

  19. 19

    オブジェクトリストから配列に複数のプロパティを取得するにはどうすればよいですか?

  20. 20

    CustomAttributeをすべてのオブジェクトプロパティに動的に追加するにはどうすればよいですか?

  21. 21

    Groovyのオブジェクトからネストされたプロパティ値を取得するにはどうすればよいですか?

  22. 22

    リストにジェネリックオブジェクトのプロパティを設定するにはどうすればよいですか?

  23. 23

    JavaScriptのプロパティでオブジェクトのインデックスを取得するにはどうすればよいですか?

  24. 24

    Javascriptでオブジェクトに動的プロパティを設定するにはどうすればよいですか?

  25. 25

    Newtownsoftを使用して、プロパティ名なしでオブジェクトをシリアル化するにはどうすればよいですか?

  26. 26

    TypeScriptでオブジェクトにプロパティを動的に割り当てるにはどうすればよいですか?

  27. 27

    Swiftの定数Decodableオブジェクトにプロパティを動的に追加するにはどうすればよいですか?

  28. 28

    オブジェクトのプロパティ名が存在することを確認するにはどうすればよいですか?

  29. 29

    オブジェクトのプロパティタイプを動的に変更するにはどうすればよいですか?

ホットタグ

アーカイブ