2015-04-13 69 views
-5

获取属性元素的名称下面是一个演示代码:在纯JavaScript

<div id="demo" myAttribute="ok"></div> 

这里有两两件事我想
1)属性名,即:“myAttribute”。
2)包含属性'myAttribute'的元素,即:div。

+0

顺便说一句,我想使用纯js而不是jquery,我正在做这样的事情:
target.attr ==“demo”,我的观点是检查目标元素是否具有attrib “演示”的使用。 –

+0

任何解决方案,请? –

+2

对于这些类型的问题,如果您从您尝试过的问题开始并针对您遇到的问题提出更具体的问题,您通常会得到更好的答复。至少,解释为什么现有的解决方案(其中有很多)不适用于您的案例。你想要的代码的规范文档并不完全符合SO的精神。 – JDB

回答

6

要获得节点选择

var list = document.querySelectorAll('[myAttribute]'); 

list匹配一个NodeList阵列状但不能从阵列继承。你也可以遍历它forlist.length


要获得NamedNodeMap上属性

var nnm = elem.attributes; 

nnm阵列状但不能从继承阵列。你也可以遍历它fornnm.length


要获得一个使用.getAttribute

var val = elem.getAttribute('myAttribute'); 

val属性null如果没有这样的属性


要测试属性是否存在等上的元素使用.hasAttribute

var b = elem.hasAttribute('myAttribute'); 

b将是一个布尔值,truefalse

+0

我刚刚在google上找到了一个解决方案,它是hasAttribute()方法,它检查目标元素是否具有特定属性并返回一个布尔值。感谢您的回答。 –

+0

@MinhBang今后,在提出问题之前尝试寻找解决方案 - 正如您发现的,Google知道很多事情。 –

+0

是的,你是对的 –

1

使用jQuery你可以做这样的事情。

div = $("[myAttribute]"); 
attrValue = div.attr('myAttribute'); 

div将是jQuery元素。
attrValue是 'OK'