2011-04-08 63 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