因此,我具有以下JavaScript函数。

var LogoUrl = function() {
    document.write('views/img/common/site-logo.svg');
}


我想在html img src属性中使用此函数。

这是一个示例,尽管该语法无法正常工作,但它应该使您对我要查找的内容有所了解。

<img class="site-logo" src="<script> LogoUrl() </script>" alt="Site Logo">


并希望这将在浏览器中导出以下内容

<img class="site-logo" src="views/img/common/site-logo.svg" alt="Site Logo">


这样做的最佳方法是什么?

最佳答案

您可以使用以下方法代替:

<script>
    document.write('<img class="site-logo" src="' + 'views/img/common/site-logo.svg' + '" alt="Site Logo">');
</script>


由于脚本标签确实是标签,因此您不能将其放在另一个标签的属性中。



但是,更好的方法是:

准备一个span元素以使其出现在其中,并为其指定特定的id。这将是您的HTML:

This is my image: <span id="myImg"></span>.


这将是您的jQuery代码:

$(function() {
    $('<img>').class('site-logo')
        .attr('src', 'views/img/common/site-logo.svg')
        .attr('alt', 'Site Logo')
        .appendTo('#myImg');
});


另外,您也可以准备图像而不用定义以下图像,而不用准备跨度:

This is my image: <img id="myImg" class="site-logo" alt="Site Logo">.


以及以下jQuery代码:

$(function() {
    $('#myImg').attr('src', 'views/img/common/site-logo.svg');
});

09-12 21:25