在HTML中调用img标记中的函数

时间:2017-03-07 10:19:41

标签: javascript jquery arrays

我有这个功能,我将它传递给HTML中的img标签

check(imgNumber)


<script>
        var data = <%- JSON.stringify(@data) %>;
 function check(value) {
        var arrN = ["15","16","35","36","n15","n16","n35","n36","n37",];
        for (var i = 0; i < arrN.length; i++) {
            if (img === arrN[i]) {
             return "/icon_"+imgNumber+"_en.png";
            }
        }
        return "/icon_"+imgNumber+".png";

    }
        </script> 

        <div id="main">

        <img class="status-icon" src="check(<%= @data.imageEng %>)" width="26" height="auto" />
        </div>
    </body>

</html>

我收到此错误http://localhost:3000/icon/check(3) 404(未找到) 而且照片没有出现。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

<img class="status-icon" src="check(<%= @data.imageEng %>)"

你不能这样做;不评估src =标记。你必须以不同的方式做到这一点(像jQuery这样的库也可能有所帮助):

<img id="id12345" src="about:blank" eng="<%= @data.imageEng %>" />

...
<script>
    var img = document.getElementById('id12345');
    img.src = check(img.eng);
</script>

但实际上,你可以在没有Javascript的情况下完成所有服务器端。更改不是客户端,服务器应该具有所有必要的数据。