Ответ 1
Самый простой способ получить атрибуты data-*
: element.getAttribute()
:
onclick="fun(this.getAttribute('data-uid'), this.getAttribute('data-name'), this.getAttribute('data-value'));"
DEMO: http://jsfiddle.net/pm6cH/
Хотя я бы предложил просто передать this
в fun()
и получить 3 атрибута внутри fun
:
onclick="fun(this);"
И затем:
function fun(obj) {
var one = obj.getAttribute('data-uid'),
two = obj.getAttribute('data-name'),
three = obj.getAttribute('data-value');
}
DEMO: http://jsfiddle.net/pm6cH/1/
Новый способ доступа к ним по свойству - dataset
, но это не поддерживается всеми браузерами. Вы получили бы их как следующее:
this.dataset.uid
// and
this.dataset.name
// and
this.dataset.value
DEMO: http://jsfiddle.net/pm6cH/2/
Также обратите внимание, что в вашем HTML здесь не должно быть запятой:
data-name="bbb",
Литература:
-
element.getAttribute()
: https://developer.mozilla.org/en-US/docs/DOM/element.getAttribute -
.dataset
: https://developer.mozilla.org/en-US/docs/DOM/element.dataset -
.dataset
совместимость браузера: http://caniuse.com/dataset