如何将类添加到仅出现在click事件上的表单标记?

时间:2011-07-19 02:40:50

标签: jquery events addclass

如何将类添加到仅出现在click事件中的表单标记? 例如:我确实有这个......

<p>Below is a form: <span>show form</span></p>
<div class="container"></div>

当用户点击“show form”时,jQuery会在“容器”类中添加一个新表单

<p>Below is a form:</p>
<div class="container">
   <form>
       <-- some code here -->
   </form>
</div>

注意:首页加载时表单仍然不存在。它只会在用户点击跨度时显示。有没有一种方法可以在表单显示后 加载 这就是我计划在jQuery上制作它的方法,但它不起作用,请更正此...

$("span").click(function(){
   $(".container form").ready(function(){
      $(this).addClass("active");
   })
})

谢谢。

5 个答案:

答案 0 :(得分:1)

我认为您可能想要使用.live jQuery事件。这允许您将事件附加到DOM加载后创建的元素。例如,当您通过AJAX加载其他元素时。在这个简单的例子中,你点击“点击我”。表单是动态加载的,并且它被赋予活动类。

http://jsfiddle.net/v5j42/1/

$("span#clicker").click( function() {
   $("div#container").append('<form class="foo"></form>');

});

$(".foo").live('DOMNodeInserted', function() {   
    $(this).addClass("active");
});

答案 1 :(得分:1)

怎么样

$(document).ready(function () {
    $("#form-button").click(function() {
        $(this).addClass("yourCSSclass");
  })
});

这将在单击时将所需的CSS类添加到表单按钮ID。

答案 2 :(得分:0)

$("span").click(function(){
   $(".container form").addClass("active");
})

document.ready超出了绑定代码:

$(document).ready(function () {
    $("span").click(function(){
        $(".container form").addClass("active");
    })
});

答案 3 :(得分:0)

你可以这样做..不确认,但应该解决你的问题。

<form id="form"></form>

尝试检查DOM中存在的表单ID是否存在..就像这样..

$("span").click(function(){
var formId= $("em").attr("id");
if(formId!=undefined && formId == "form"){
   $(this).addClass("active");// will add a class on span
   $('#form').addClass("active"); // will add a class on form tag
     }
});

希望这可以帮助你...

答案 4 :(得分:0)

我想你可能正在寻找像这样简单的东西?

HTML

<p>Below is a form: <span id="showForm">show form</span></p>
<div class="container">
    <form>
        <input />
    </form>
</div>

的jQuery

$('.container').hide();

$('#showForm').click(function(){
    $('.container').show();    
}); 

http://jsfiddle.net/jasongennaro/9YNLP/1/