要素から指定属性名が含まれる属性値を取得

要素から指定属性名が含まれる属性値を取得するには、次のような方法で実装できます。

関数定義

JavaScript

var getAttrValues = function(element, matchPattern) {
	if (!element || !matchPattern || !element.attributes.length) return [];

	var result  = [],
	    attrs   = element.attributes,
	    matches = [];

	for (var i = 0, len = attrs.length; i < len; i++) {
		if (matches = attrs[i].name.match(matchPattern)) {
			result.push({
				matches : matches,
				name    : attrs[i].name,
				value   : attrs[i].value
			});
		}
	}

	return result;
};

使い方

引数

引数名 説明
第一引数
必須
element Element 要素
第二引数
必須
matchPattern string | RegExp 取得したい属性名(正規表現可)

戻り値

一致した属性名を配列で返します。

サンプルコード

JavaScript

var sampleElement = document.getElementById('sample'),
    attrValues    = getAttrValues(sampleElement, /^data-/);

console.log(attrValues);

JavaScript逆引きリファレンス一覧へ戻る