我在SharePoint页面上有一系列链接,我正在尝试修改其中一个常见的URL参数。链接都看起来像这样:
<a href="javascript:" onclick="javascript:RefreshPageTo(event, '/dev/Pages/stPCT.aspx?Paged=TRUE&p_ID=357\u0026PageFirstRow=31\u0026FilterField1=Number&FilterValue1=0000123450&&\u0026View={FC071FA0-12AA-7854-905E-0C4429FFFD52}&thisID=STRINGID');javascript:return false;" id="PagingLink" class="PagingLink">
Next</a>
我想要发生的是重写链接以将“thisID = STRINGID”更改为“thisID = 0000123450”...到目前为止,我已尝试(未成功)以下内容。
$(".PagingLink").each( function(index,element) {
url = $(element).onclick();
console.log(url);
newurl = url.replace(/STRINGID/gi,"0000123450");
$(element).attr('href', newurl);
});
非常感谢任何和所有帮助。
答案 0 :(得分:4)
我会这样做:
$(".PagingLink").each( function(index,element) {
url = $(element).attr('onclick');
console.log(url);
newurl = url.replace(/STRINGID/gi,"0000123450");
$(element).attr('href',newurl);
});
你的错误出现在 .onclick 中,你应该用 attr()来获取它,因为它会让你获得正确的值。
答案 1 :(得分:1)
您可能因当前的jQuery代码而出现JavaScript错误,因为没有名为onclick()
的方法。您可以使用attr()
方法访问onclick值,如下所示:
url = $(element).attr('onclick');
其余代码应该正确执行。
答案 2 :(得分:0)
您需要更改onclick属性中的文本,而不是href属性。看到这个小提琴:http://jsfiddle.net/fQEdV/2/
更改href不会决定页面的去向,因为Sharepoint使用javascript在链接的click事件中重定向用户。如果用户已禁用javascript,则无论如何都不会为您的脚本运行更新此脚本的脚本。
答案 3 :(得分:0)
$(".PagingLink").each( function(index,element) {
url = $(element).onclick();
console.log(url);
newurl = url.replace(/STRINGID/gi,"0000123450");
$(element).attr('href', newurl);
});
检查此
$(".PagingLink").each( function(index,element) {
$(element).attr('href').replace(/STRINGID/gi,"0000123450");
});
.attr(“value”)。replace('0','Day')