0

Is this the correct code for recording a link click then saving to local storage and then displaying the image with link in a div?


<script>
    var links = [ 'one': 1, 'two': 2, 'three': 3 ];
    function saveLink(that){
        links[links.length] = that.element.src;
        document.getElementById('linkList').innerHTML += that.element.src+"<br>";

        localStorage.setItem('links', JSON.stringify(testObject));
    }
    </script>

    <img src="http://domain.com/image.png" onclick="saveLink(this);" />



    <div id='linkList'>
    <script>
        var retrievedObject = localStorage.getItem('links');

    console.log('retrievedObject: ', JSON.parse(retrievedObject));

    </script></div>
4

1 に答える 1

1

いいえ、「リンク付きの画像をdivに表示する」というのは正しい方法ではありませんconsole.log。その名前がDOMに要素を作成しないことを示唆しているため、コンソールにログが記録されます。jQuery としてタグ付けされた質問があるので、私の回答でそれを使用していると仮定します。

//Assuming you want the click handler to be attached to all images on the page
$('img').click(function(){
    $('#linkList').append('<a href="' + $(this).attr('src') +'">Image</a>')   
});

<a>これにより、クリックした画像へのリンクである新しいタグが追加されます。

これにより、次のような新しいコードが得られます

<script>
    $(document).ready(function () {
        //Assuming you want the click handler to be attached to all images on the page
        $('img').click(function () {
            $('#linkList').append('<a href="' + $(this).attr('src') + '">Image</a>')
        });
    });
</script>
<img src="http://domain.com/image.png" />
<div id='linkList'>
</div>
于 2013-09-29T03:05:00.330 に答える