检查不包含在div html中

时间:2009-11-21 11:37:15

标签: jquery dom-manipulation

我有一个div <div id="maindiv"></div>和一些复选框,可以在maindiv中添加一些html元素。

当我选中该复选框时,我需要在检查它不包含该元素后附加<div id="subdiv"></div>。细分ID将根据所选的复选框而有所不同。

当我取消选中该复选框时,如果存在,我需要删除<div id="subdiv"></div>

我怎样才能使用jquery?

4 个答案:

答案 0 :(得分:2)

试试这个:

    $(function() {
        var chk = "<input id=\"sex\" name=\"sex\" type=\"checkbox\">";
        var sub = "<div id=\"subdiv\">hello</div>";
        $("#container").prepend(chk);

        $("#sex").click(function(event) {
            if ($("#maindiv").data('sex')) {
                $("#maindiv").data('sex', false);

                $("#subdiv").remove();
            } else {
                $("#maindiv").data('sex', true);
                $("#maindiv").append(sub);
            }
        });             
    });

HTML:

<div id="container">
    <div id="maindiv">main</div>
</div>

我使用数据进行检查。

答案 1 :(得分:1)

为什么不在HTML中添加<div id="subdiv"></div>,只在需要时隐藏/显示此div?

答案 2 :(得分:0)

function myToggle() {
  if($("#mycheck:checked").val()!=null) {
    //check is true
    $("#maindiv").append("<div id='subdiv'></div>");
  }
  else {
    //check is false
    $("#subdiv").remove();
  }
}

答案 3 :(得分:0)

$('#my-checkbox').change(function() {
  if ($(this).is(':checked')) {
    if (!$('#subdiv').length) {
      $('#maindiv').append('<div id="subdiv">...</div>');
    }
  } else {
    $('#subdiv').remove();
  }
});