2012-04-24 4 views
0

У меня есть этот кусок кода, что он делает, это сохранение значения с помощью jstorage.javascript - make links clickable

Я хотел бы сделать сохраненное значение clickable - я намерен хранить ссылки там (вроде любимых закладок).

Итак, у меня было бы 2 поля, ключ и значение, ключ был бы описательным именем, а значение сохранил бы весь URL (http: // ...). Отображается только ключ, значения скрыты. После нажатия кнопки «Ключ» вы хотите перенаправить на страницу.

Любые идеи, как я мог это сделать?

<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

Во-первых, ваш код действительно смущает ....

Тем не менее, что касается вашего вопроса, вы должны вывести ключевой столбец в качестве связующего звена, состоящего значение как HREF attrubute.

Так в вашем коде, вы можете использовать soemthing так как первый столбец:

//... 
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); 
//... 
+0

благодарственное Так много, что сделал трюк – user1100099

+0

Как я мог бы сделать это, чтобы открыть в новом окне? – user1100099

+0

Забудь, понял, спасибо. – user1100099