Javascript 如何根据访问的域名更改图像?使用location.hostname

Javascript 如何根据访问的域名更改图像?使用location.hostname,javascript,html,css,hostname,Javascript,Html,Css,Hostname,我有一个网站和两个域名。我希望图像“A”出现,如果访问者去 www.SampleSiteA.com上有一个页面,但如果在www.SampleSiteB.com上的页面上,则应显示图像“B” 不幸的是,下面代码的结果是空白的,根本没有图像出现。有什么想法吗 文件内容:welcome.html <html> <head> <script src="resources/js/domain.js" type="text/javascript"></sc

我有一个网站和两个域名。我希望图像“A”出现,如果访问者去 www.SampleSiteA.com上有一个页面,但如果在www.SampleSiteB.com上的页面上,则应显示图像“B”

不幸的是,下面代码的结果是空白的,根本没有图像出现。有什么想法吗

文件内容:welcome.html

<html>
<head>
     <script src="resources/js/domain.js" type="text/javascript"></script>
</head>
<body>
     <div class="welcomepic"></div>
</body>
</html>
文件内容:domain.js

function welcomepic() {
    if (location.hostname == 'www.SampleSiteA.com') {
        $('.welcomepic').addClass('picForA');
    } else {
        $('.welcomepic').addClass('picForB');
    }
}

您不调用您的函数。一个解决方案是在html的头部添加以下代码

$( document ).ready(function() {
welcomepic();
});
您还需要删除welcompic函数中的前一个set类,否则最终将得到双类

function welcomepic() {
    if (location.hostname == 'www.SampleSiteA.com') {
        $('.welcomepic').removeClass('picForB').addClass('picForA');
    } else {
        $('.welcomepic').removeClass('picForA').addClass('picForB');
    }
}

你什么时候打电话给welcomepic图像显示不一致。使用document.domain代替location.hostname会更有效吗?也许在没有基于初始测试的www?的情况下,代码在没有removeClass的情况下按预期执行。如果我在没有removeClass的情况下继续使用代码,是否存在隐患?您好,不,这不是必需的,因为您在$(document).ready之后仍停留在同一个域上。不过,若您必须在单击事件时切换类,则必须执行removeClass或toggleClass。当我写我的答案时,我没有考虑过。
function welcomepic() {
    if (location.hostname == 'www.SampleSiteA.com') {
        $('.welcomepic').removeClass('picForB').addClass('picForA');
    } else {
        $('.welcomepic').removeClass('picForA').addClass('picForB');
    }
}