Javascript 在变量中分隔两个字符串项,以便检索和单独显示
我有一个返回名称和URL的查询。我循环检查结果并打印出每一行。我正在努力将URL分配给href字段。如果我只在查询中返回URL,我就可以实现这一点 但是,我在尝试查询名称和URL,然后将URL分配给href,并将名称分配给查询数组结果中的文本字段。我看了一下,但是我不确定如何继续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
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>';