页面加载后更新a href

时间:2012-11-03 18:12:59

标签: jquery dom-manipulation

我正在使用Stacktack app将帖子摘要放在网站上。但是,当stacktack加载页面时,链接指向直接url到stackoverflow站点,但是我想将href链接修改为其他内容(向它附加一个数字)。

示例如果我提供当前帖子的ID,则stacktack添加到该问题的链接是完整的

http://stackoverflow.com/questions/13212050/update-the-a-href-after-page-load

我希望它是分享链接

http://stackoverflow.com/q/13212050/1135954

我正在使用jquery来执行此操作

var ele = $('h3').find('a');
var l =ele.length;
for(var i=0;i<l;i++) {
    var toLink = ele[i].href+"/1135954" ;  /* Not exact change, but point is to update the link */
    console.log(toLink);
    $(ele[i]).attr("href",toLink);
}

但这并没有更新链接,因为堆栈的内容尚未加载。我试着做长度警报。

那么,只有在stacktack加载完内容后,我才能调用这段代码?

请告诉我

3 个答案:

答案 0 :(得分:1)

在使用任何选择器之前必须装入你的dom 使用$.ready

答案 1 :(得分:0)

由于您使用的是Jquery,因此您可以更简单地完成以下操作:

$('h3').find('a').each(function(index, element) {
    currentLink = element.attr('href');
    updatedLink = currentLink+'/1234567'
    $(this).attr('href', updatedLink);
});

答案 2 :(得分:0)

我认为发生这种情况的可能原因是因为您在文档加载后加载了内容。所以尝试在body load上调用这段代码。

<body onload="fun()"></body>