इस answer से आप सीएसएसआरयूल्स संपत्ति के माध्यम से लूपिंग करके जो खोज रहे हैं उसे पाने में सक्षम हो सकते हैं।
var myElement = $("#content");
for (var x = 0; x < document.styleSheets.length; x++) {
var rules = document.styleSheets[x].cssRules;
for (var i = 0; i < rules.length; i++) {
if (myElement.is(rules[i].selectorText)) {
$("ul").append("<li>" + rules[i].selectorText + "</li>");
}
}
}
को देखते हुए निम्नलिखित डोम:
<div>
<div id="content">
</div>
</div>
और सीएसएस नियम: jsfiddle पर
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form,fieldset, input, textarea, p,
blockquote, th, td div
#content
div > div
उदाहरण:
div
{
background-color:black;
}
#content{
height:50px;
width:50px;
}
div > div
{
border: solid 1px red;
}
हम की एक मिलने वाला नियम सेट मिलेगा। यह सुनिश्चित नहीं है कि यह सभी परिदृश्यों के लिए कितना अच्छा काम करेगा लेकिन यह देखने के लिए कुछ हो सकता है कि यह आपकी आवश्यकताओं के अनुरूप होगा या नहीं।
एक से थोड़ा अधिक पूर्ण example साथ अपडेट किया गया ...
$(document).click(function(event) {
var rules = GetAppliedCssRules($(event.target));
var $ul = $("#rules").empty();
$.each(rules, function() {
$ul.append("<li>" + this + "</li>");
});
event.preventDefault();
});
function GetAppliedCssRules($element) {
var appliedRules = [];
for (var x = 0; x < document.styleSheets.length; x++) {
var rules = document.styleSheets[x].cssRules;
for (var i = 0; i < rules.length; i++) {
if ($element.is(rules[i].selectorText)) {
appliedRules.push(rules[i].selectorText);
}
}
}
return appliedRules;
}
यह अधिक उचित लगता है ... अगर यह जे एस/jQuery अकेले हालांकि का उपयोग कर सकता है पता नहीं है। – BoltClock
[आपके अन्य प्रश्न] के बारे में क्या है (http://stackoverflow.com/questions/5135287)? क्या यह अभी भी प्रासंगिक है? – Gumbo
ऐसा लगता है कि आप तत्व की गणना की गई शैलियों को खोजने की कोशिश कर रहे हैं, न कि यह "परिभाषित चयनकर्ता" है। –