2012-10-10 92 views
0

嘗試了這兩種,但它們不起作用。看起來很簡單,但在這個主題上找不到任何東西。如何將所有子元素的填充和邊距設置爲0

CSS:

#element * { padding: 0; margin 0; } 

的jQuery:

$("#element").children("*").css("padding", "0"); 
$("#element").children("*").css("margin", "0"); 

預先感謝您。

+0

第一個應該只是正常工作。您可以設置在http://jsbin.com或東西,包括你的HTML – sachleen

+1

演示你有一個ID元素?否則就什麼都不做。 如果你想要所有的元素,將你的CSS改爲'body * {padding:0;保證金0; } – SpYk3HH

回答

8

如果您要使用jQuery路由,您希望使用.find。孩子只能深入一個層次。

$('#element').find('*').css('padding', '0');

http://jsfiddle.net/gromer/yg3CL/1/

純CSS:

body * { 
    margin: 0; 
    padding: 0; 
} 
+1

正如其他人所說的,你可以用純CSS來做到這一點'Body * {padding:0;保證金:0; '',這取決於你希望如何完成。你只是試圖從元素中刪除填充/邊距默認?如果是這樣,請使用css normalize樣式表查看。 – Gromer

+0

我想刪除填充和邊距只有一個div div子元素,我使用.on()函數在頂部div內添加新元素,所以我需要調用$('#element')。find(' *')。css('padding','0');每次更新後。我猜這種情況下CSS不起作用。謝謝。 – krasenslavov

+0

那麼,如果你添加一個類到你想從中刪除填充和邊距的每個元素,CSS就可以工作。我不知道你的標記是什麼樣的,或者它是如何創建的,所以我一直在做一些假設。 – Gromer

4

這不行嗎?

$("#element *").css("padding", "0"); 
$("#element *").css("margin", "0"); 

children方法只行進的單級下調DOM樹,那麼你只會設置在直接後裔的CSS。 find方法可以工作,但是$("#element")find('*').css("padding", "0");

相關問題