从包含HTML的变量中删除HTML元素

时间:2012-10-11 16:01:12

标签: javascript jquery-ui jquery

大家好,我有一个包含HTML的jQuery var,我将其附加到页面上。

我需要在将其附加到页面之前删除HTML元素,但我似乎无法对其进行过滤。

例如变量包含;

<div class="block1"></div>
<div class="block2"></div>

在我追加之前,我尝试过这样的过滤;

var mydata = $(mydata).filter('.block1');

var mydata = mydata.filter('.block1');

但这些都不起作用。有什么建议吗?

5 个答案:

答案 0 :(得分:1)

尝试.remove()

$('.block1').remove();

OR

var mydata = $(mydata).remove('.block1');

答案 1 :(得分:1)

直接应用于字符串的过滤器有时会给出字符串结果,可以安全地将元素添加到DOM然后应用过滤器。将html分配给DOM中的某个临时元素,从此临时元素中获取已过滤的项目并将其分配给所需的元素。

$('#TemporaryElemntToAddHtml').html(mydata);

    $('#ElemntToAddHtml .block1').each(function(){
         $('#ElemntToAddHtml').append($(this));
    });

$('#TemporaryElemntToAddHtml').remove();

答案 2 :(得分:0)

您是否尝试过.remove功能?

  var mydata = $('<div class="block1"></div>
                 <div class="block2"></div>');
  mydata.remove('.block1');

答案 3 :(得分:0)

$。过滤器没有按照你的想法做到。

http://api.jquery.com/filter/

我会尝试$(mydata).remove('。block1');

答案 4 :(得分:0)

使用splice本机方法删除元素索引,并删除1项。

mydata.splice( mydata.filter('.block1').index(), 1 );

请注意,拼接不会添加mydata = mydata.splice(..),因为它将返回已删除的元素。

否则使用jQuery的remove方法,正如一些人已经说过的那样。