javascript - 使链接可点击

时间:2012-04-24 12:34:38

标签: javascript

我有这段代码,它的作用是使用jstorage保存一个值。

我想点击保存的价值 - 我打算在那里存储链接(有点像喜欢的书签)。

所以我会有2个字段,Key和value,key是一个描述性名称,值将存储整个url(http:// ...)。只有Key可见,值被隐藏。点击Key后,想要重定向到页面。

我有什么想法可以做到吗?

    <script>



        function insert_value(){
            var row = document.createElement("tr"),
                key = document.getElementById('key').value,
                val = document.getElementById('val').value;

            if(!key){
                alert("KEY NEEDS TO BE SET!");
                document.getElementById('key').focus();
                return;
            }
            $.jStorage.set(key, val);
            document.getElementById('key').value = "";
            document.getElementById('val').value = "";
            reDraw();
        }



        function reDraw(){
            var row, del, index;
            var rows = document.getElementsByTagName("tr");
            for(var i=rows.length-1; i>=0; i--){
                if(rows[i].className == "rida"){
                    rows[i].parentNode.removeChild(rows[i]);
                }
            }

            index = $.jStorage.index();
            for(var i=0; i<index.length;i++){
                row = document.createElement("tr");
                row.className = "rida";
                var t = document.createElement("td");
                t.innerHTML = index[i];
                t.colSpan = 2;
                row.appendChild(t);
                t = document.createElement("td");
                t.className = "urls";
                t.innerHTML  = $.jStorage.get(index[i]);
                row.appendChild(t);
                del = document.createElement("a");
                del.href = "javascript:void(0)";
                del.innerHTML = "<div class='delimg'></div>";
                (function(i){
                    del.onclick = function(){
                        $.jStorage.deleteKey(i);
                        reDraw();
                    };
                })(index[i])
                t = document.createElement("td");
                t.appendChild(del)
                row.appendChild(t);
                document.getElementById("tulemused").appendChild(row);

            }
        }

    </script>

1 个答案:

答案 0 :(得分:1)

首先,你的代码确实令人困惑......

尽管如此,关于您的问题,您必须输出键列作为链接​​,将值作为href attrubute。

因此,在您的代码中,您可以使用类似这样的内容作为第一列:

//...
var t = document.createElement("td");
var link = document.createElement("a");
link.href = $.jStorage.get(index[i]);
link.innerHTML = index[i];
t.appendChild(link);
row.appendChild(t);
//...