首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Href动态链接

Href动态链接
EN

Stack Overflow用户
提问于 2011-09-28 02:26:08
回答 3查看 98关注 0票数 1

我在一个json文件中有一些链接。

代码语言:javascript
复制
<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动态

所以如果我在一个页面上,href是

代码语言:javascript
复制
 <a href  id=”1”> </a>

它应该能够将google.com写到ahref中。

还有,这是最好的方法吗,我应该使用Id吗?还是别的什么?

你的洞察力将会有所帮助

已更新

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
<a id='1'></a><br>
<a id='2'></a>
EN

回答 3

Stack Overflow用户

发布于 2011-09-28 02:30:04

首先,以数字开头的in无效-请将其更改为前面有一个字母:)

除此之外,这将完成以下工作:

代码语言:javascript
复制
for (var i = 0; i < links.length; i++) {
  var link = links[i];
  $('#' + link.id).attr('href', link.link);
}

编辑

此外,正如John Hartsock上面提到的,确保使用标准的双引号将属性值括起来,而不是原始代码中显示的卷曲的双引号。

票数 2
EN

Stack Overflow用户

发布于 2011-09-28 02:34:00

如果你不想使用jQuery,下面是你的方法:

代码语言:javascript
复制
for (var i = 0; i < links.length; i++) {
  var link = links[i];
  document.getElementById(link.id).setAttribute('href', link.link);
}
票数 1
EN

Stack Overflow用户

发布于 2011-09-28 02:41:05

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7573925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档