jQuery hide() 不隐藏父级

标签 jquery forms html hide

JQuery 仍然让我抓狂...... 问题是这样的:我有一个页面,访问者可以通过单击 div (id="contact") 内的链接来留下他们的电子邮件地址。

<div id="contact"><a href="">vuoi lasciare un recapito?</a></div>

单击后,“联系人”div 会加载一个 PHP 表单。用户输入他的电子邮件地址,然后检查该地址,然后将其插入数据库等......通常的业务。

$(document).ready(function() {
$('#contact a').click(function()
    {
    $('#contact').load('mailform.php');
    return false;
    });
$('#contact').submit(function(){
    var email = $('input[name=email]', '#submitmail').val();
    var submit = $('input[name=submit]', '#submitmail').val();
    $('#contact').load('mailform.php',{'email': email,'submit': submit});
    return false;
    });
//the close button - start
$(".cls").click(function(){
    alert($(this).parent().html());
    $(this).parent().hide();
    });
//the close button - end
});

当我想添加“关闭”按钮或链接时,痛苦就来了,这样用户就可以在填写表单之后甚至之前隐藏表单。

<div id="submitmail">
    <form action="#" method="post">
        <fieldset>
        <p><label for="email"><?php echo $_SESSION['nome']; ?></label><input type="text" name="email" /></p>
        <p class="submit"><input type="submit" name="submit" value="inserisci" /></p>
        </fieldset>
        </form>
</div>
<span class="cls">Chiudi</span>

链接(和“关闭按钮”脚本)根本不起作用。没有警报,没有开关,div 没有消失……什么都没有。 已经尝试过 $('span.cls').click(function()$('#cls').click(function() (切换“span”后“带有“div”和带有 ID 的类)没有任何线索。只是一个单击的链接,什么也不做。Firebug 和 IE 开发工具栏甚至无法进入该功能。 欢迎替代解决方案...

谢谢!

最佳答案

试试这个:

$("#contact").on("click", ".cls", function(){
    alert($(this).parent().html());
    $(this).parent().hide();
});

由于 .cls 元素在绑定(bind)时不存在 - 因此您需要将处理程序委托(delegate)给合适的父元素。阅读本文的“直接事件和委托(delegate)事件”部分:

http://api.jquery.com/on/

摘自上述链接:

If new HTML is being injected into the page, select the elements and attach event handlers after the new HTML is placed into the page. Or, use delegated events to attach an event handler...

关于jQuery hide() 不隐藏父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12053933/

相关文章:

javascript - "..."和 '...' 之间有解释差异吗?

jquery - 单击它时将光标放在输入字段中

javascript - 如果表单无效,则禁用提交按钮 angularjs

javascript - jquery 基于变量启用/禁用表单字段部分

每次单击按钮时,PHP 函数无法重新检查 IP 检查

javascript - javascript数组中的引用错误

javascript - 在 jquery 中动态添加内容问题

ruby-on-rails - 无法将图像解析为 URL : to_model delegated to attachment,,但 Rails 5.2 中附件为零

javascript - 表单未在新选项卡中打开

javascript - 在javascript中单击另一个按钮后激活按钮