2015-09-18 3 views
0

Я хочу получить селектор для элемента, точно такого же, с которым написано в таблице стилей.jQuery - Получить CSS-селектор в стильном листе

Например, у меня есть таблица стилей, который, содержащий стиль в input поле следующим образом:

#parent .children input { 
    property: value; 
} 

input { 
    property: value; 
} 

.input_field { 
    property: value; 
} 

и HTML, как в следующем примере:

<div id="parent"> 
    <div class="children"> 
     <input class="input_field" type="text" name="input_field" value=""/> 
    </div> 
</div> 

Когда это input поле нажмите, я хочу получить весь его селектор из таблицы стилей с помощью jquery:

$("input").on("click", function(){ 
    // get my selectors from stylesheet 
}); 

Как это можно сделать?

+2

Зачем вам это нужно –

+1

объясните вашу проблему, могут быть другие способы сделать это? – Mritunjay

+0

Наивный способ состоял в том, чтобы выполнить итерацию через cssRules каждой таблицы стилей документа и проверить каждый селектор на элемент. Если ваши правила CSS не будут меняться, сделайте это на загрузке страницы, а не на клике. Но да, непонятно, почему именно вам нужен список селекторов из таблицы стилей, соответствующих элементу. – BoltClock

ответ

0

Хотя мне даже интересно, зачем вам это нужно, но не позволяйте там повесить.

Для выполнения вашей задачи требуется очень простой объект document.

По существу, document.styleSheets дает вам все таблицы стилей, прикрепленные к веб-странице. Используя это, вы можете делать все, что захотите.

+0

Я проверил это раньше, но для меня это выглядит излишеством. – KeepMove

+0

@SoursopTree Логичным и актуальным объектом является избыток? Просто вау. Независимо от того, что вы используете, библиотеки или иным образом, он будет использовать этот самый объект. Единственная вещь - логика, которую вы пишете для использования в вашей системе, и это ваша работа. Но просветите меня любым другим решением, которое не использует этот объект – Bikas

Смежные вопросы