1

外部ソースにスクリプトを含め、jQuery を使用して解析しようとすると、スクリプトはダウンロードされますが、DOM には読み込まれません。私は using を使用して.append()いますが、これは他の jQuery DOM 挿入メソッドの場合のようです。

スタック スニペットの例を次に示します。

$(function(){
  
  var selet2Html =
    '<link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet"/>' +
    '<script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js" ><\/script>' +
    '<select class="select2">' +
    '  <option value="AK">Alaska</option>' +
    '  <option value="HI">Hawaii</option>' +
    '</select>' +
    '<script >' +
    '  $(function() {' +
    '    $(".select2").select2();' +
    '  });' +
    '<\/script>';
    
  $("body").append(selet2Html);
  
});
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>

これにより、ネットワークタブにスクリプトがダウンロードされますが:

ネットワーク アクティビティ

それでも次のエラーが返されます (外部ライブラリ - select2 - がロードされていないことを示します):

キャッチされていない TypeError: $(...).select2 は関数ではありません

$.getScript()実際にはこの文字列を で動的にロードしているので、使用し.load()たくないので、外部スクリプトが含まれるかどうかはわかりません。

外部ライブラリをロードするにはどうすればよいですか?

4

1 に答える 1