排序阵列超链接
Sorting Array hyperlinks
我试图让这个代码排序基于标题,但显示标题与超链接。到目前为止,代码排序正确,但是超链接没有被正确的Title显示。它似乎是将列表链接按字母顺序按标题排列,然后将子网站链接按标题排列。
我希望:
第一个子站点(www.test.com/firstsubsite)
Google(www.google.com)//<-In list
最后子站(www.test.com/lastSubsite)
Yahoo(www.yahoo.com)//<- In list
目前我得到:
第一个子站点(www.google.com)//<-In list
Google(www.yahoo.com)//<- In list
最后子站(www.test.com/firstsubsite)
雅虎(www.test.com/lastSubsite)
function GetItems() {
var names = [];
var link = [];
$().SPServices({
operation: "GetListItems",
async: true,
listName: "GatheredSites",
CAMLViewFields: "<ViewFields><FieldRef Name='Title' /><FieldRef Name='Link_x0020_Url' /></ViewFields>",
completefunc: function(xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
var url = $(this).attr("ows_Link_x0020_Url").split(",")[0];
var name = ($(this).attr("ows_Title"));
names.push(name);
link.push(url);
});
$().SPServices({
operation: "GetWebCollection",
webURL: "*url*",
async: true,
completefunc: function(xData, Status) {
$(xData.responseXML).find("Webs > Web").each(function() {
var $node = $(this);
names.push($node.attr("Title"));
link.push($node.attr("Url"));
});
names.sort();
var output = $("#divDisplay");
for (var i = 0, len = names.length; i < len; i++) {
output.append("<li><a href='" + link[i] + "'>" + names[i] + "</li>");
}
}
});
}
});
}
一旦您对names
数组进行排序,您就无法匹配links
数组中相应的索引。
您可以在xml的每次迭代中创建一个同时具有名称和链接的对象,并将该对象压入一个数组。
然后按名称属性
对单个对象数组进行排序$(xData.responseXML).find("Webs > Web").each(function () {
var $node = $(this);
// single object to store all needed properties from xml
var item = {
name: $node.attr("Title"),
link: $node.attr("Url")
}
// push object to array
names.push(item);
// link.push($node.attr("Url")); - remove links array, no longer needed
});
// sort array by name property
names.sort(function (a, b) {
return a.name > b.name
});
var output = $("#divDisplay");
for (var i = 0, len = names.length; i < len; i++) {
// note properties used for link and name
output.append("<li><a href='" + names[i].link + "'>" + names[i].name + "</li>");
}
相关文章:
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 用超链接替换URLS
- 使用JavaScript从超链接加载时的默认下拉值
- Hammer.js阻止在Android Webview中点击超链接
- 将超链接添加到“;标题“;标记文本
- 文本建议的超链接
- 用Javascript按钮替换Javascript超链接
- 删除默认的ui超链接行为
- 谷歌将广告超链接映射到国家标记
- 如何在点击超链接时调用fullcalendar回调
- 单击“禁用其他超链接”
- 为Angularjs制作超链接
- 指向的超链接刚刚赢得'不起作用
- 如何将超链接添加到通过传单创建的传单多段线.Draw
- 如何禁用鼠标中键单击超链接以在新选项卡或新窗口中打开
- 如何在每个动态创建的ImageButton周围包装超链接?Visual Studio
- 将数据库中的超链接添加到查询结果
- 从JSON对象创建具有超链接的HTML表
- 排序阵列超链接