要素から指定属性名が含まれる属性値を取得
要素から指定属性名が含まれる属性値を取得するには、次のような方法で実装できます。
関数定義
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);