2015-05-04 40 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