【问题标题】:how to keep input field and delete his first parrent [duplicate]如何保留输入字段并删除他的第一个父母[重复]
【发布时间】:2012-10-16 19:18:44
【问题描述】:

我有以下情况:我想将输入字段附加到不同的父级。代码是这样的

    <div id="id1">
        <div id="id2">
             <input type="radio">
       </div>
    </div>

我想将输入字段附加到“id1”并删除“id2”。最终结果应该是这样的

    <div id="id1">
        <input type="radio">
    </div>

【问题讨论】:

  • 你有没有尝试过?
  • 是的,我做到了。我在做什么其实很复杂。我正在为移动设备制作 HMTL5 页面。我正在使用此脚本screwdefaultbuttons.com 将自定义图像添加到我的页面。但是它写我应该使用 $(document).ready 函数但我实际上必须用 $(document).bind('pageinit',function(){}); 替换它现在的问题是,每当显示带有 data-role=page 的 div 时,脚本就会再次被调用。自定义按钮被包装在一个包含输入字段的 div 中。每次我转到另一个页面时,我都会嵌套一个更深的输入字段。我必须以某种方式清理它。
  • 这是我进入下一页时的样子。输入字段被嵌套两次。我想把它放在 .ui-radio 类下面。
    Bærbare computere

标签: javascript jquery html css jquery-mobile


【解决方案1】:
​$('#id2 input').​​​​appendTo($('#id1'))​​​​;
$('#id2').remove();

DEMO

【讨论】:

    【解决方案2】:
    $('#id2 input').appendTo($('#id1'));
    $('#id2').remove();
    

    【讨论】:

    • 谢谢。看起来它按我想要的方式工作。但有一件小事我必须弄清楚。如果我自己不修复它,我会提出另一个问题。谢谢
    【解决方案3】:

    一行:

    ​$("#id2"​​).find("input").appendTo("#id1"​).end().end().remove();​​​​​
    

    另外一行:

    ​$("#id2 input"​​).unwrap("#id2");​​​​​
    

    演示: http://jsfiddle.net/CrmMG/

    【讨论】:

      【解决方案4】:
      $('#id1').append($('#id2 input'))
      $('#id2').remove();
      

      Live Demo

      【讨论】:

        【解决方案5】:

        接受你的意见

         var input =  $("inputselector");
        

        放入需要的容器中

        var parentRef =  $("inputselector").parent();
         $("inputselector").parent().parent().append( $("inputselector"));
        

        删除父级

         parentRef.remove();
        

        【讨论】:

          【解决方案6】:
          $div = $('input:radio').clone();
          $('#id2').remove();
          $('#id1').append($div);
          

          fiddle

          【讨论】:

            【解决方案7】:

            使用 jQuery unwrap()。它删除选择器的父元素,将所选元素留在原处

            $('#id2 input').unwrap()
            

            API 参考http://api.jquery.com/unwrap/

            【讨论】:

              【解决方案8】:

              你可以使用其中任何一个。

                  $('#id2 input').​​​​appendTo($('#id1'))​​​​;
                  $('#id2').remove();
                  or
                 $('#id2 input').unwrap();
              

              【讨论】:

                猜你喜欢
                • 2011-08-31
                • 2016-10-28
                • 2020-03-28
                • 1970-01-01
                • 2015-09-27
                • 2012-04-12
                • 1970-01-01
                • 2016-12-05
                • 1970-01-01
                相关资源
                最近更新 更多