jquery .each() with $.get()



基本上我正在尝试根据.home-val-icon检查html值获取这些值,根据创建的路径创建路径并输出 svg 代码

 //Loops through each element
 //Gets html contents
 //Creates a path based on location.origin and html contents
 $('.home-nav-icons').each(function() {
    var counter = 0;
    var select =  $(this).html();
    var loc = location.origin;
    var findIcon = loc+"/wp-content/themes/Proxy-Engine/assets/icons/svg/"+select+".svg";
    console.log(findIcon);
    //Gets svg based on path,
    //loops through data objects
    $.get(findIcon, function(data, counter) {
      $.each(data, function(counter) {
        var svgData = data[counter];
        $('.home-nav').append(svgData);
      });
      counter++;
    });
});

控制台错误:

未捕获的安全错误:无法从"文档"读取"cookie"属性:拒绝对此文档的访问。

如果是在Chrome上,则可能是错误。也许你可以用

(function(cookie, localStorage) {
    $('.home-nav-icons').each(function() {
    var counter = 0;
    var select =  $(this).html();
    var loc = location.origin;
    var findIcon = loc+"/wp-content/themes/Proxy-Engine/assets/icons/svg/"+select+".svg";
    console.log(findIcon);
    $.get(findIcon, function(data, counter) {
      $.each(data, function(counter) {
        var svgData = data[counter];
        $('.home-nav').append(svgData);
      });
      counter++;
    });
}(cookie, localStorage));

所以重点是用函数包装器包装它

(function(cookie, localStorage) {...code...} (cookie, localStorage));

但我想这不是那个错误的地方。因此,您需要在另一个作用域中使用包装器。也许尝试使用整个代码。

最新更新