Jquery селектор, выберите любой элемент DOM - PullRequest
1 голос
/ 08 апреля 2011

Я создаю CMS, которая может редактировать дизайн страницы.Скажем, эффект как SquareSpace.Короче говоря, пользователь выбирает некоторый элемент html и получает его свойства CSS.

Я хотел бы сделать это универсальным, а не добавлять некоторый класс для каждого элемента.

Спасибо, много

Ответы [ 2 ]

4 голосов
/ 08 апреля 2011

что-то вроде

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

Пример на jsfiddle.

1 голос
/ 08 апреля 2011

Единственное, о чем вам нужно беспокоиться, это распространение событий по дереву 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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...