如何将字符串变量传递给javascript函数并使用它获取元素
我有一个JavaScript函数,我想重复使用。我有两个HTML onclick函数调用相同的代码。第一个(实例1)发送“this”,第二个(实例2)发送id值。实例1本身是模态上的关闭按钮,实例2是模态主体内的测试取消按钮 分配href值时,实例1在函数中工作,但实例2不工作,即实例1关闭模式,而实例2不关闭 谁能告诉我哪里出了问题?下面的代码示例如何将字符串变量传递给javascript函数并使用它获取元素,javascript,html,Javascript,Html,我有一个JavaScript函数,我想重复使用。我有两个HTML onclick函数调用相同的代码。第一个(实例1)发送“this”,第二个(实例2)发送id值。实例1本身是模态上的关闭按钮,实例2是模态主体内的测试取消按钮 分配href值时,实例1在函数中工作,但实例2不工作,即实例1关闭模式,而实例2不关闭 谁能告诉我哪里出了问题?下面的代码示例 <!-- HTML instance 1 --> <a id="ModalClose" title="Close" onclic
<!-- HTML instance 1 -->
<a id="ModalClose" title="Close" onclick="CloseModal(this)"
class="close">X</a>
<!-- HTML instance 2 -->
<button type="button" id="test123"
onclick="CloseModal('ModalClose')">Close</button>
function CloseModal(ModalObj) {
if (typeof ModalObj === 'object') {
var x = document.getElementById(ModalObj.id);
} else {
var x = document.getElementById(ModalObj);
}
x.href = "#close";
}
X
关
功能关闭模式(ModalObj){
如果(ModalObj的类型=='object'){
var x=document.getElementById(ModalObj.id);
}否则{
var x=document.getElementById(ModalObj);
}
x、 href=“#关闭”;
}
无论是否单击了链接或按钮,您的JavaScript代码都在有效地执行相同的操作,也就是说,它在链接中添加了href。行为上的差异来自于这些元素的默认操作。按钮没有特定的默认操作(表单之外),但链接导航到其href属性中给定的位置
现在,当您单击按钮时,不会改变位置。要解决此问题,您必须在更改链接的href后手动单击该链接。添加
x.单击()
作为单击处理程序函数中的最后一行,单击链接并获取默认行为 你的密码。这里的实际问题是什么?@Teemu,实例1关闭模式,而实例2没有。在您的示例中没有关闭模式的代码。链接和按钮都会更改链接的href。请在问题中添加相关代码,并详细解释出现的问题。“不工作”不是一个问题描述。我的理解是,通过应用href元素,它通过转移到另一个不存在的html元素来强制关闭模式。“亲密”只是一个虚构的术语,不是相对的。如果类型为对象,则分配了href且模式消失,如果启动else语句,则href代码完成,但模式不会消失。我希望这能提供一些明确性。谢谢。@Teemu,我不能在评论中将此标记为答案,您介意将其作为答案发布,我可以将其标记为完整并正确地为您评分吗?谢谢