繁体   English   中英

如何在画布上更改ID

[英]How to change id on canvas

我有一个页面,该页面基于画布上的字符串显示gif图标。 例如“晴天”。 可以从api获取该字符串。 我的问题是我如何将包含该字符串的变量“ icon”分配给画布的ID。 当然,作为i'ma初学者,有更好的方法可以做到这一点。

<!DOCTYPE html>
<html >
<head>
  <meta charset="UTF-8">
  <title>Animated weather icons</title>

      <link rel="stylesheet" href="css/style.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

</head>

<body>


<figure class="icons">
    <canvas class="weatherIcon" width="64" height="64"></canvas>
</figure>

<script src="https://rawgithub.com/darkskyapp/skycons/master/skycons.js"></script>

    <script>

    $(document).ready(function weather(){
    $.getJSON("https://api.darksky.net/forecast/[key]/59.868098,%2017.678976?lang=sv&callback=?",
function(json) {
var weatherJSON = json.currently;
var icon=weatherJSON.icon;

    var icons = new Skycons({"color": "white"});

icons.set("clear-day", Skycons.CLEAR_DAY);
icons.set("clear-night", Skycons.CLEAR_NIGHT);
icons.set("partly-cloudy-day", Skycons.PARTLY_CLOUDY_DAY);
icons.set("partly-cloudy-night", Skycons.PARTLY_CLOUDY_NIGHT);
icons.set("cloudy", Skycons.CLOUDY);
icons.set("rain", Skycons.RAIN);
icons.set("sleet", Skycons.SLEET);
icons.set("snow", Skycons.SNOW);
icons.set("wind", Skycons.WIND);
icons.set("fog", Skycons.FOG);

var iconWeather = document.getElementsByClassName("weatherIcon");
iconWeather.id = icon;


icons.play();

});
});

</script>

</body>
</html>

尝试:

document.getElementsByTagName("canvas")[0].setAttribute("id", icon);

为了达到预期的效果,请使用以下选项

Document.getElementByClassName返回具有所有给定类名称的所有子元素的类似数组的对象。

更改iconWeather.id =图标; 到iconWeather [0] .setAttribute(“ id”,icon);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM