javascript - jQuery .click() 方法未按预期运行

标签 javascript jquery

我写了一个函数,在点击某个元素时,会用隐藏的 span 替换一个 div。当我在标签的“onclick=”attr 中设置事件处理程序时,该函数运行良好。但后来我试图变得“花哨”并用 jQuery 的 .click() 方法替换 onclick attr。现在,当我尝试在页面上使用它时,只有 clunk -- 没有任何反应。

但是,如果我在 Chrome 的 js 控制台中执行完全相同的代码,效果会很好。这是我的 js:

$("a#delete").click(function () {
    $("a#delete").replaceWith($("span.hconf").attr("style", "none"))
});

这是相关的html(在div里面,在div外面):

<a class='modify' id="delete" u="{{ i.id }}" href='#'>delete</a>
<span class='hconf' style="display:none;">Are you sure? <a class='confirm' id='del_conf_true' onclick='deltrue();' href='#'>yes</a> | <a class='confirm' id='del_conf_false' href='#'>no</a></span>

我知道我可以使用“this”关键字更改第二个 $("a#delete"),但我现在将其撤消,因为我不确定这是否是问题的一部分。我是 js/jQuery 的新手。

最佳答案

Ready它:

$(document).ready(function() {
    $("a#delete").click(function () {
        $(this).replaceWith($("span.hconf").attr("style", "display:none"));
    });
});

...你不是说 style="display:none"吗?您可以轻松地使用 .hide() :

$("span.hconf").hide();

最后,在 ID 选择器上使用过滤标签毫无意义。只需执行 $("#delete"),它既短又快。

关于javascript - jQuery .click() 方法未按预期运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4946349/

相关文章:

javascript - 暂停按钮功能在轮播中不起作用

jQuery Columnizer 插件仅在窗口大小调整时正常工作

jQuery 3D 轮播?

javascript - JSON多值

javascript - 无法让 localStorage 在刷新时显示输出

javascript - 检查是否选中任何复选框,如果没有,则显示错误

javascript - 我们可以从跨域注册 Service Worker 吗

jQuery 聚焦于数组的模糊

jquery - 更改 td 的背景颜色

javascript - 解析json时出错