下面代码,如果有值,返回的是一串数字。否则返回“无”。
请问,怎样给返回的值加链接。
返回无的不加链接。
panoService.getPano(evt.latLng, 2000, function(result) {
document.getElementById("pano_id").innerHTML =result?result.svid : "无";
});
下面代码,如果有值,返回的是一串数字。否则返回“无”。
请问,怎样给返回的值加链接。
返回无的不加链接。
panoService.getPano(evt.latLng, 2000, function(result) {
document.getElementById("pano_id").innerHTML =result?result.svid : "无";
});
首先,你需要给出你连接的构成方式:
大致是
panoService.getPano(evt.latLng, 2000, function(result) {
document.getElementById("pano_id").innerHTML =result?('<a href="'+result.svid+'">'+result.svid+'</a>') : "无";
});
本来就是一个分支就能解决的问题啊?!@linong 的回复就解决了问题。
只是我不建议拼字符串,还是创建 DOM 元素吧。
当然,如果确认参与创建链接标记的数据,如 svid,只是单纯的数字,拼接字符串也是可以的
panoService.getPano(evt.latLng, 2000, function (result) {
const svid = result?.svid;
const el = svid ? createLink(svid) : createEmptySpan();
document.getElementById("pano_id").appendChild(el);
function createLink(svid) {
const link = document.createElement("a");
link.href = `https://me.com/api/something/${svid}`;
link.innerText = `${svid}`;
return link;
}
function createEmptySpan() {
const span = document.createElement("span");
span.innerText = "无";
return span;
}
});
从 svid 创建 <a>
或 <span>
这里可以封装成一个函数,方便重用。
另外,如果希望 无
的时候也是 <a>
可以把两个 createXxxx
合并成一个
function createLink(svid) {
const link = document.createElement("a");
if (svid) {
link.href = `https://me.com/api/something/${svid}`;
link.innerText = `${svid}`;
} else {
link.innerText = "无";
}
return link;
}
9 回答9.4k 阅读
6 回答5.1k 阅读✓ 已解决
5 回答3.7k 阅读✓ 已解决
3 回答10.5k 阅读✓ 已解决
4 回答8k 阅读✓ 已解决
7 回答10.1k 阅读
4 回答7.4k 阅读