2011-04-08 70 views
1

我正在構建一個可以編輯頁面設計的cms。讓我們說效果像SquareSpace。簡而言之,用戶選擇一些html元素並獲取它的CSS屬性。Jquery選擇器,選擇任何DOM元素

我想做這個泛型,而不是在每個元素上添加一些類。

日Thnx,很多

+1

您可以使用*選擇 - http://api.jquery.com/all-selector/ – lam3r4370 2011-04-08 16:57:14

回答

4

$(document).click(function(e){ 
    $(e.target).css("color", "red"); 
}); 

Example on jsfiddle.

+0

這是相當聰明的。 :) – 2011-04-08 16:59:22

+0

正是這樣,非常感謝你。白癡我,一直在尋找整天:D – 2011-04-08 16:59:32

1

你需要擔心的唯一的事情的是事件傳播了DOM樹。例如,馬克的實施將改變最深的原始目標的風格。但是如果你想要更高的話呢?例如:

<a href="test.html"><img src="picture.jpg" /></a> 

你要定位的<a>標記或標籤<img>

您可能希望將某些類屬性放在實際的目標元素上,以便知道所得到的結果。您也可以使用live()處理程序來執行類似於上述方法的處理,但是需要更多的定製。

$('img').live('click', function(e) { /* Do things for images */ }); 

$('.element').live('click', function(e) { /* Do things for class='element' */ }); 

被警告如果一個元素與兩個元素匹配,這兩個元素都會默認觸發。

參見:http://api.jquery.com/category/events/event-object/

+0

非常感謝你,但@Mark解決方案取得了訣竅。 – 2011-04-08 17:19:00