Javascript 在变量中分隔两个字符串项,以便检索和单独显示

Javascript 在变量中分隔两个字符串项,以便检索和单独显示,javascript,Javascript,我有一个返回名称和URL的查询。我循环检查结果并打印出每一行。我正在努力将URL分配给href字段。如果我只在查询中返回URL,我就可以实现这一点 但是,我在尝试查询名称和URL,然后将URL分配给href,并将名称分配给查询数组结果中的文本字段。我看了一下,但是我不确定如何继续 var Results = (Fish(Query).select("LATINNAME","URL")); var outputc = '<ul data-role="listview" data-inset

我有一个返回名称和URL的查询。我循环检查结果并打印出每一行。我正在努力将URL分配给href字段。如果我只在查询中返回URL,我就可以实现这一点

但是,我在尝试查询名称和URL,然后将URL分配给href,并将名称分配给查询数组结果中的文本字段。我看了一下,但是我不确定如何继续

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>';
输出C-目前我只是将URL添加为字符串以打印出来

 <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> 

您没有正确获得结果。事实上,由于我不喜欢您的原始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);
var Results=Fish(查询)。选择(“拉丁名”、“URL”);
var输出=document.createElement('ul');
setAttribute(“数据角色”、“列表视图”);
setAttribute(“数据插入”、“真”);
var l=结果。长度,i,链接;

for(i=0;i看起来您在(数组的)数组中查找值时遇到了问题

如果查看
结果
,您会发现您处理的不是一维数组,而是二维数组。正确的代码如下:

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>';
var-LATINNAME=1;//分配它的键(仅用于帮助)
var Results=(Fish(查询)。选择(“拉丁名”、“URL”);
var outputc='
    ; for(结果中的var k){ var结果=结果[k]; 输出UTC+='
  • '; } 输出UTC+='
';

请注意,如果未声明LATINNAME变量值(在本例中,它充当变量),则无法访问如下哈希键:
Results[LATINNAME]
。如果存在键LATINNAME,您可以改为使用:
Results.LATINNAME
,但正如您在日志中看到的那样,它存储在键
1
中。

您可以将结果数组作为字符串发布吗?@IvanSeidel我已经发布了结果的控制台输出。我知道在php中,我需要使用[0]和[1]放置不同的数组元素。显然+URL+是错误的,但这就是我不确定的地方。你能同时发布
oututc
吗?
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);
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>';