附加的jQuery非常接近工作。它返回(或附加)文本两次。
我正在迭代一个无序列表并将一个查询字符串参数附加到hrefs。
?InitialTabId=Ribbon.Document
正在追加两次,如下所示:
http://www.google.com?InitialTabId=Ribbon.Document?InitialTabId=Ribbon.Document
代码:
$(document).ready(function() {
//foreach item in the quick launch, add a parameter to ensure the Ribbon is set to the Document tab
$('#zz18_V4QuickLaunchMenu ul li').each(function() {
$(this).find('a').attr('href', function (i, val) {
return val + '?InitialTabId=Ribbon.Document';
});
});
});
有没有人有任何想法如何让文字只附加一次?
答案 0 :(得分:2)
无需each()
。
$('#zz18_V4QuickLaunchMenu ul li a').attr('href', function (i, val) {
return val + '?InitialTabId=Ribbon.Document';
});
使用此代码不应该将字符串附加两次。 (FWIW,也不应该在代码中附加两次字符串。)
答案 1 :(得分:0)
必须运行两次,因为您选择了两个<li>
元素。 .each()
是迭代的,并且运行两次,每个元素一次。