2011-09-27 195 views
1

我在网页上的JSON文件HREF链接Dymamically

<code> 
"links": [ 
      {"link": "http://www.google.com/", 
      "id": "1" 
      }, 
      {"link": "http://www.poogle.com/", 
      "id": "2" 
      }, 
      {"link": "http://www.foogle.com/ ", 
      "id": "3" 
      }, 

] 
</code> 

一些链接,我会像一个js函数或脚本,将在url HREF写出动态

所以,如果IM上页面和href是

<a href id=”1”> </a> 

它应该能够在google.com编写成AHREF。

而且这是采取最好的方法,我应该使用标识?或者是其他东西?

你的洞察力,将有助于

修订

JSON FILE: 

{"links": 

[ 
      {"link": "google.com", 
      "id": "1" 
      }, 
      {"link": "yahoo.com", 
      "id": "2" 
      }, 
      {"link": "msn.com", 
      "id": "3" 
      }, 
      {"link": "mash.com", 
      "id": "4" 
      }, 
      {"link": "facebook.com", 
      "id": "5" 
      } 
     ] 

} 

JS

for (var i = 0; i < linksObj.links.length; i++) { 
    var linkObj = linksObj.links[i]; 
    var elem = document.getElementById(linkObj.id); 

    if (elem) { 
     elem.href = linkObj.link; 
     elem.innerHTML = linkObj.link; 
    } 
} 

HTML

<a id='1'></a><br> 
<a id='2'></a> 
+0

刚一说明,但是,什么与搞笑语录('”')?这可能会在稍后导致您的问题。 –

+3

“1”不是一个有效的ID,顺便说一句。看[这里](http://stackoverflow.com/questions/70579/what-are-valid-values-for-the-id-attribute-in-html)。 – yincrash

+1

这是在LAST之后的逗号}吗? – orolo

回答

2

首先,以数字开头的ID无效 - 变化日EM有前:)信

比,虽然其他,这将做到:

for (var i = 0; i < links.length; i++) { 
    var link = links[i]; 
    $('#' + link.id).attr('href', link.link); 
} 

编辑

而且,约翰Hartsock上面提到的,请确保您使用标准的双引号以包围您的属性值,而不是原始代码中显示的那个。

+0

嘿克莱夫我遇到了一些麻烦实施这一点。 –

1

这里是做到这一点的方式,如果你不想使用jQuery:

for (var i = 0; i < links.length; i++) { 
    var link = links[i]; 
    document.getElementById(link.id).setAttribute('href', link.link); 
} 
0
var linksObj = {"links": [ 
      {"link": "http://www.google.com/", 
      "id": "1" 
      }, 
      {"link": "http://www.poogle.com/", 
      "id": "2" 
      }, 
      {"link": "http://www.foogle.com/ ", 
      "id": "3" 
      }, 

]}; 

for (var i = 0; i < linksObj.links.length; i++) { 
    var linkObj = linksObj.links[i]; 
    var elem = document.getElementById(linkObj.id); 

    if (elem) { 
     elem.href = linkObj.link; 
     elem.innerHTML = linkObj.link; 
    } 
} 

Example

+0

HEY amit_g,我把JSON内容放在我的JSON文件中,然后把FOR LOOP放到我的JS文件中,但它仍然不起作用。 –

+0

您之前没有评论过它是否有效?向我们显示您的确切代码(更新您的问题)。 –

+0

好的我更新了以上 –