gpt4 book ai didi

javascript - 如何将字符串变量传递给 JavaScript 函数并使用它来获取元素

转载 作者:行者123 更新时间:2023-12-03 01:41:48 25 4
gpt4 key购买 nike

我有一个想要重复使用的 JavaScript 函数。我有 2 个 HTML onclick 函数调用相同的代码。第一个(实例 1)发送“this”,第二个(实例 2)发送 id 值。实例 1 是模态本身的关闭按钮,实例 2 是模态主体内的测试取消按钮。

分配 href 值时,实例 1 正在函数中工作,但实例 2 没有,即实例 1 关闭模式,而实例 2 则不关闭。

谁能告诉我我哪里出错了?下面的代码示例。

<!-- 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";
}

最佳答案

无论单击链接还是按钮,您的 JavaScript 代码实际上都会执行相同的操作,即它会向链接添加 href。行为的差异来自这些元素的默认操作。按钮没有特定的默认操作(表单之外),但链接导航到其 href 属性中给出的位置。

现在,当您单击按钮时,位置不会发生任何变化。要解决此问题,您必须在更改其 href 后手动单击该链接。添加 x.click(); 作为单击处理函数中的最后一行,以单击链接并获取默认行为。

关于javascript - 如何将字符串变量传递给 JavaScript 函数并使用它来获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50811494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com