php - 使用 jQuery/javascript 从 HTML 中删除 id 属性

标签 php javascript jquery html

我有一个 mainWrap,其中内容是动态填充的。(有点像下面)

          <div id="mainWrap">
                <div style="z-index: 1001; height: 407px; width: 328px; top: 150px; left: 601.5px;" id="com-TMRJDOR2KOET3X6JPV6XGU0FB7RGJ926" class="textBox contentBox">
                   <div style="" class="editable"><p>
                Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, </p>
                   </div>
                </div>

                <div style="z-index: 1002; height: 616px; width: 288px; top: 29px; left: 3.5px;" id="com-UPWTMKZ7OUTN8KG2JEK47LNPN5JO261H" class="textBox contentBox">
                   <div style="" class="editable"><p>
                ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum</p>
                  </div>
               </div>            
          </div>

mainWrap 的直接子级附加了一个 id。我想在将其保存到数据库之前删除 ids。现在我尝试了类似的操作

        var getContent = $('#mainWrap');  
        var finalContent =getContent.clone().find('*').removeAttr('id');// 1            
        var finalContent=getContent.clone().children().removeAttr('id');//2     
        alert(finalContent.html());

在这两种情况下,我得到的输出如下:

        <div style="" class="editable"><p>
                Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, </p>
        </div>

外部 div 被删除,我只得到 1 个 div,而不是两个。 但是当我独立尝试它时,它可以与第二个一起使用。 Here's fiddle

我怎样才能做到正确。我不确定为什么它在应用程序中失败并独立工作!
谢谢您的时间

最佳答案

尝试在家长选择上更加具体。

试试这个:

$(document).ready(function () {
    var getContent = $('#mainWrap');
    var finalContent = $('div.textBox', getContent).clone();

    finalContent.each(function () {
        $(this).removeAttr('id');
    });
    console.log(finalContent[0]);
});

在这里查看 http://jsbin.com/ewosix/1/

 $('button').click(function () {
     var newContent = $(finalContent).first().wrap('<div class="addId" />');
     newContent = $(newContent).parents( /*You can add specific selector for parents like div.textBox or leave it emty for all parents */ ).each(function (index, value) {
         $(this).attr('id', index);
     });
     alert($(newContent).html());
 });

关于php - 使用 jQuery/javascript 从 HTML 中删除 id 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14499495/

相关文章:

php - 带注释的 symfony2 路由不起作用

php - 用不同的颜色突出显示两类复选框

javascript - ReactJS 上意外使用 'open' no-restricted-globals

javascript - 使用 Datatables.net 数据表时,如何判断在分页控件中单击了哪个页码

javascript - Backbone 关系到 JSON 不呈现所有属性

php - 批量插入包含俄语的字符串

javascript - 搜索存储在同一目录中的 HTML 文件中的关键字

javascript - 在提交到 PHP 上传之前在客户端调整图像大小

javascript - 在 Meteor 中重新初始化代码

jquery - 使用Google Closure编译器