我有一个返回名称和URL的查询。我遍历我的结果并打印出每一行。我正在努力将URL分配给href字段。如果我只返回查询中的URL,我可以完成这项工作。
然而,我正在尝试查询名称和URL然后将URL分配给href,并将名称分配给查询数组结果中的文本字段。我看了this,但我不确定如何继续。
var Results = (Fish(Query).select("LATINNAME","URL"));
var outputc = '<ul data-role="listview" data-inset="true">';
for (LATINNAME in Results) {
outputc += ' <li><a href="'+URL+'">' + Results[LATINNAME] + '</a></li> ';
}
outputc += '</ul>';
如果我只是通过从查询中删除latinname将其输出到我的变量中,我可以使URL工作
outputc += ' <li><a href="'+ Results[LATINNAME]+'">' + '</a></li> ';
结果的数组输出
[Array[2], Array[2], Array[2], Array[2], Array[2], Array[2]]
0: Array[2]
0: "Acipenseridae"
1: "Endpoints1.html"
length: 2
1: Array[2]
0: "Cottidae"
1: "Endpoints2.html"
length: 2
2: Array[2]
0: "Gadidae"
1: "Endpoints3.html"
length: 2
输出C - 目前我只是将网址添加为字符串以将其打印出来
<ul data-role="listview" data-inset="true">
<li><a href="function URL() { [native code] }">Acipenseridae,Endpoints.html</a></li>
<li><a href="function URL() { [native code] }">Cottidae,Endpoints.html</a></li>
<li><a href="function URL() { [native code] }">Gadidae,Endpoints.html</a></li>
</ul>
答案 0 :(得分:0)
您无法正确获得结果。事实上,由于我不喜欢您的原始HTML字符串,我将使用DOM方法执行此操作:p
var Results = Fish(Query).select("LATINNAME","URL");
var output = document.createElement('ul');
output.setAttribute("data-role","listview");
output.setAttribute("data-inset","true");
var l = Results.length, i, link;
for( i=0; i<l; i++) {
link = output.appendChild(document.createElement('li'))
.appendChild(document.createElement('a'));
link.href = Results[i][1];
link.appendChild(document.createTextNode(Results[i][0]));
// hey! built-in anti-XSS!
}
// find somewhere and .appendChild(output);
答案 1 :(得分:0)
看起来你在Array(of Arrays)中找到值时遇到了麻烦。
如果查看Results
,您将看到您没有处理一维数组,而是使用二维数组。正确的代码是这样的:
var LATINNAME = 1; // Key where it is allocated (just to help)
var Results = (Fish(Query).select("LATINNAME","URL"));
var outputc = '<ul data-role="listview" data-inset="true">';
for (var k in Results) {
var result = Results[k];
outputc += ' <li><a href="'+URL+'">' + result[LATINNAME] + '</a></li> ';
}
outputc += '</ul>';
请注意,您无法访问这样的散列键:Results[LATINNAME]
如果您未声明LATINNAME变量值(在这种情况下,它充当变量)。相反,如果密钥LATINNAME存在,请使用:Results.LATINNAME
,但它存储在您的日志中可以看到的密钥1
中。