আমার নিজের রেফারেন্সের জন্য এবং আপনার নিজের জন্য এখানে করা যেতে পারে এমন অনেকগুলি উপায়ের একটি ওভারভিউ এখানে দেওয়া হয়েছে: ফাংশনগুলি বৈশিষ্ট্যের নাম এবং তাদের মানগুলির একটি হ্যাশ ফিরিয়ে দেয়।
ভ্যানিলা জেএস :
function getAttributes ( node ) {
var i,
attributeNodes = node.attributes,
length = attributeNodes.length,
attrs = {};
for ( i = 0; i < length; i++ ) attrs[attributeNodes[i].name] = attributeNodes[i].value;
return attrs;
}
অ্যারে.রেডুস সহ ভ্যানিলা জেএস
ES 5.1 (2011) সমর্থনকারী ব্রাউজারগুলির জন্য কাজ করে। IE9 + প্রয়োজন, IE8 এ কাজ করে না।
function getAttributes ( node ) {
var attributeNodeArray = Array.prototype.slice.call( node.attributes );
return attributeNodeArray.reduce( function ( attrs, attribute ) {
attrs[attribute.name] = attribute.value;
return attrs;
}, {} );
}
jQuery এর
এই ফাংশনটি একটি ডওম উপাদান নয়, একটি jQuery অবজেক্ট আশা করে।
function getAttributes ( $node ) {
var attrs = {};
$.each( $node[0].attributes, function ( index, attribute ) {
attrs[attribute.name] = attribute.value;
} );
return attrs;
}
আন্ডারস্কোর
লোডাশের জন্যও কাজ করে।
function getAttributes ( node ) {
return _.reduce( node.attributes, function ( attrs, attribute ) {
attrs[attribute.name] = attribute.value;
return attrs;
}, {} );
}
lodash
অ্যান্ডস্কোর সংস্করণের চেয়ে আরও সংক্ষিপ্ত, তবে কেবল লড্যাশের জন্য কাজ করে, অ্যান্ডস্কোরের জন্য নয়। আইই 9 + প্রয়োজন, আইই 8-তে বগি। @AlJey যশ যে এক জন্য ।
function getAttributes ( node ) {
return _.transform( node.attributes, function ( attrs, attribute ) {
attrs[attribute.name] = attribute.value;
}, {} );
}
পরীক্ষার পৃষ্ঠা
জেএস বিনে, এই সমস্ত ফাংশনকে কভার করে একটি লাইভ পরীক্ষার পৃষ্ঠা রয়েছে। পরীক্ষায় বুলিয়ান বৈশিষ্ট্য ( hidden
) এবং গণনাযুক্ত বৈশিষ্ট্য ( contenteditable=""
) অন্তর্ভুক্ত।
$().attr()