1

我正在用 javascript 中的另一个图像替换一个图像,然后添加一个链接,但它似乎不起作用。有什么建议么??谢谢,麻烦您了!!

function showImage2(){
    document.getElementById("tbc").src = "images/s2.jpg";
var elem = document.getElementById("Slideshow");
    elem.style.display = "none";
    document.getElementById('tbc').style.display='block';
document.getElementById('tbc').style.usemap='ss2Map'; 
var link = document.createElement('a'); // create the link
    link.setAttribute('href', 'wastewater.html'); // set link path
    link.appendChild("images/s2.jpg"); // append to link
}
4

3 回答 3

2
link.appendChild("images/s2.jpg"); // append to link

这条线不会做任何事情。您只能附加一个元素,而不是一个文本字符串。document.getElementById("tbc")如果我正确理解您的标记,您需要追加。

如果这不是您要附加的内容,您可以使用var el = document.createElement('img')创建一个 img 标签,然后使用设置 src 属性el.setAttribute('src','images/s2.jpg')

在此之后,上述行将变为link.appendChild(el);which would work。

于 2013-07-23T15:17:15.920 回答
1

我认为您真正需要的只是一张带链接的图片和一张不带链接的图片。加载时,显示没有链接的图像,隐藏有链接的其他图像。一旦单击按钮或其他东西,然后隐藏没有链接的图像并显示带有链接的图像是否正确?

<img id="image1" src="http://us.123rf.com/400wm/400/400/tonygers/tonygers1108/tonygers110800022/10200687-manipulated-nasa-photographs-of-the-earth-and-moon-isolated-together-on-a-black-background.jpg" />
<a style="display:none;" id="image2" href="http://www.google.com" target="_blank"><img  src="http://d1jqu7g1y74ds1.cloudfront.net/wp-content/uploads/2011/08/us-astronaut-bruce-mccandless-space-walk.jpg" /></a>
<a href="javascript:void(0)" onclick="showImage2()">Click Me</a>
<script>
    function showImage2(){
        var imageOne = document.getElementById('image1');
        var imageTwo = document.getElementById('image2');
        imageTwo.style.display = 'block';
        imageOne.style.display = 'none';
    }   
</script>

您可以在此处查看工作代码。http://jsfiddle.net/QbbJU/1/

于 2013-07-23T15:36:34.257 回答
0

appendChild()只能取 DOM 节点,不能取字符串。

要设置元素的文本,您可以设置innerHTMLtextContent,或附加文本节点(来自document.createTextNode()

您可能还希望将链接放在页面中的某个位置。

于 2013-07-23T15:16:04.023 回答