2012-11-03 165 views
0

我正在使用Stacktack app将发布摘要放在网站上。但是,当stacktack加载的页面,链接指向直接url到stackoverflow站点,但我想修改href链接到其他东西(附加一个数字)。在页面加载后更新a 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的内容尚未加载。我试图在长度上做一个警报。

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

请让我知道

+0

你把它包装在jQuery(document).ready()语句中吗? – thenetimp

+0

当你可以做什么时,所有的摆弄都会发生什么:'ele [i] .href = ele [i] .href +“/ 1135954”;' – adeneo

+0

是的,我把它包装在'.ready()'中,但是但它显示为0. – mtk

回答

0

我认为可能的原因是它发生是因为你在加载文档加载后的内容。所以请尝试在身体负载上调用此代码。

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

由于您使用jQuery你可以做的更简单,就像下面的:你使用任何选择之前

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

点是它显示的元素数为零(0),因此链接没有得到更新。堆栈的内容尚未加载。 – mtk

+0

然后把上面的脚本放在'$(document).ready();'函数中,并确保把它放在你需要加载的js下面,以保证安全。 –