टैग में कई गुण हो सकते हैं। कोड में विशेषताएँ जिस क्रम में प्रकट होती हैं, वह मायने नहीं रखती है। उदाहरण के लिए:
<a href="#" title="#">
<a title="#" href="#">
मैं जावास्क्रिप्ट में HTML को कैसे "सामान्य" कर सकता हूं, इसलिए विशेषताओं का क्रम हमेशा समान होता है? मुझे परवाह नहीं है कि कौन सा आदेश चुना जाता है, जब तक कि यह हमेशा एक ही हो।
अद्यतन : मेरा मूल लक्ष्य थोड़ा अंतर के साथ (जावास्क्रिप्ट में) 2 HTML पृष्ठों को अलग करना आसान बनाना था। क्योंकि उपयोगकर्ता कोड को संपादित करने के लिए विभिन्न सॉफ्टवेयर का उपयोग कर सकते हैं, इसलिए विशेषताओं का क्रम बदल सकता है। यह अंतर को बहुत क्रियात्मक बनाता है।
उत्तर : अच्छा, पहले सभी उत्तरों के लिए धन्यवाद। और हाँ, यह संभव है। यहां बताया गया है कि मैं इसे कैसे कर पाया। यह अवधारणा का प्रमाण है, इसे निश्चित रूप से अनुकूलित किया जा सकता है:
function sort_attributes(a, b) {
if( a.name == b.name) {
return 0;
}
return (a.name < b.name) ? -1 : 1;
}
$("#original").find('*').each(function() {
if (this.attributes.length > 1) {
var attributes = this.attributes;
var list = [];
for(var i =0; i < attributes.length; i++) {
list.push(attributes[i]);
}
list.sort(sort_attributes);
for(var i = 0; i < list.length; i++) {
this.removeAttribute(list[i].name, list[i].value);
}
for(var i = 0; i < list.length; i++) {
this.setAttribute(list[i].name, list[i].value);
}
}
});
अंतर के दूसरे तत्व के लिए एक ही बात $('#different')
। अब $('#original').html()
और $('#different').html()
उसी क्रम में विशेषताओं के साथ HTML कोड दिखाएं।