我有一个小JS脚本,当我单击按钮时会被调用。该脚本会执行几项操作,其中(如果存在)采用链接的href并使用它填写#id_instagram输入字段。
问题:页面上始终不存在“ a href”链接。当不存在时,去获取其href的第一行JS行显然不会找到导致整个JS脚本失败且无法运行的任何内容。我该怎么说?“如果在href中,则执行此操作,否则执行该操作”?
谢谢
HTML
<a href="www.instagram.com/link" id="instagramPath"></a>
<input id="#id_instagram"></input>
JS
var instagramPath = document.getElementById('instagramPath').href;
document.querySelector('#id_instagram').value = instagramPath;
答案 0 :(得分:0)
如果它始终不存在(或在每次加载页面时),则可以使用if条件处理此问题:
var instagramLink = document.getElementById('instagramPath');
// this will prevent errors if instagramLink does not exist
if (instagramLink) {
document.querySelector('#id_instagram').value = instagramLink.href;
}
答案 1 :(得分:0)
您只需要使用getElementById获取Node。始终欢迎使用防御性编码,因此您可以检查节点是否不为空,为空或未定义。如果存在,则可以使用Element对象的getAttribute方法获取属性。如果找不到,它将为null。
var instagramPathNode = document.getElementById('instagramPath');
// if the node exists
if(instagramPathNode){
var instagramPath = instagramPathNode.getAttribute("href");
if(instagramPath){
//href exists and is not empty
// do processing here
}
}