diff --git a/src/DOM/Node/Element.js b/src/DOM/Node/Element.js index 116a511..b6dd761 100644 --- a/src/DOM/Node/Element.js +++ b/src/DOM/Node/Element.js @@ -86,6 +86,12 @@ exports._getAttribute = function (name) { }; }; +exports.hasAttribute = function(name) { + return function (element) { + return element.hasAttribute(name); + }; +}; + exports.removeAttribute = function (name) { return function (element) { return function () { diff --git a/src/DOM/Node/Element.purs b/src/DOM/Node/Element.purs index 9638c32..59af8ce 100644 --- a/src/DOM/Node/Element.purs +++ b/src/DOM/Node/Element.purs @@ -12,6 +12,7 @@ module DOM.Node.Element , getElementsByClassName , setAttribute , getAttribute + , hasAttribute , removeAttribute , scrollTop , setScrollTop @@ -63,6 +64,7 @@ getAttribute :: forall eff. String -> Element -> Eff (dom :: DOM | eff) (Maybe S getAttribute attr = map toMaybe <<< _getAttribute attr foreign import _getAttribute :: forall eff. String -> Element -> Eff (dom :: DOM | eff) (Nullable String) +foreign import hasAttribute :: forall eff. String -> Element -> Eff (dom :: DOM | eff) Boolean foreign import removeAttribute :: forall eff. String -> Element -> Eff (dom :: DOM | eff) Unit foreign import scrollTop :: forall eff. Element -> Eff (dom :: DOM | eff) Number