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);どちらが機能するようになります。

于 2013-07-23T15:17:15.920 に答える
1

本当に必要なのは、リンクのある画像とリンクのない画像を 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 ノードのみを取ることができます。

要素のテキストを設定するには、 または を設定するinnerHTMLか、テキスト ノードを ( から)textContent追加します。document.createTextNode()

また、ページのどこかにリンクを配置することもできます。

于 2013-07-23T15:16:04.023 に答える