2015-05-04 59 views
-1

我试图删除基于属性类型的元素。由于某种原因,它不工作。试图删除基于属性类型的元素

有问题的元素是:

<p style="width:250px;font-size:11px;text-align:left;margin-left:1.2ex;margin-top:0px;margin-bottom:0px;line-height:1.15em;">–&nbsp;in Europe<span style="font-size:8px;"><span style="white-space:nowrap;">&nbsp;&nbsp;</span></span>(<span style="font-size:9px;">green &amp;&nbsp;dark grey</span>)<br> 
–&nbsp;in the European Union<span style="font-size:8px;"><span style="white-space:nowrap;">&nbsp;&nbsp;</span></span>(<span style="font-size:9px;">green</span>)</p> 

我想这种方式将其删除 - 产品的容器元素。

$(item).find("p").filter("[style]").remove(); 

有没有其他<p>标签与属性的风格,但是这似乎并没有将其删除。

其他代码,这样,工作正常:

$(item).find(".reference").remove(); 

如何删除所有p标签与该项目元素的样式属性?

这是项目的创建方式:

       $.get(link, function(response) { 
             var elements = $.parseHTML(response); 
             var wiki = $(elements).find('#mw-content-text').find("p"); 
             //var ps = []; 
             var arrayLength = wiki.length; 
             for (var i = 0; i < arrayLength; i++) { 
              if (wiki[i].innerHTML === "") { 
               break; 
              } 
              var item = wiki[i]; 

链接变量是维基百科的链接。

+0

是否动态添加样式? –

+1

请提供复制这个的演示。我们看不到'item'是什么,所以它可能与预期不同。 '$(item).find(“p”)'工作吗? – charlietfl

+0

是的,$(item).find(“p”)工作 –

回答

0

item指p元素本身。你不必求P项:

$(item).filter("[style]").remove(); 
+1

'item是一个容器元素。 –

+1

引用项目的元素是'p'标记元素 –

1

也许试试这个:

$.each(item.children('p'), function(index) { 
    if ($(this).attr('style')) { 
    $(this).remove(); 
    } 
}); 
+2

'[style]'selector有什么问题? – undefined

0

后重新寻找你的问题,

$(item).find("p").filter("[style]").remove(); 

是完全有效的,而不是试图想出替代方法来编写它,找出item有什么问题,因为如果上面的代码不起作用,它不是你认为的那样

+3

如果'item'是一个对象,并且没有理由在find()。filter()'不 – charlietfl