首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hasAttribute对hasOwnProperty

hasAttribute对hasOwnProperty
EN

Stack Overflow用户
提问于 2016-01-04 23:05:04
回答 2查看 7.7K关注 0票数 9

我遇到了一些jquery代码,它试图使用hasOwnProperty访问html属性。

代码语言:javascript
复制
<input type="text" name="fname" placeholder="First name">

<script>
    var e = $element.find('input')[0];
    if(!e.hasOwnProperty("placeholder")){...}
</script>

据我所知,这应该永远是

代码语言:javascript
复制
if(!e.hasAttribute("placeholder")){...}

但是hasAttribute和hasOwnProperty之间有什么区别呢?和曾经是等同的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-04 23:24:48

hasAttribute()

hasAttribute()只对html元素起作用,如果该元素具有与给定参数相同的属性名,则返回true。

代码语言:javascript
复制
<div class="myClass"></div>

<script>
    document.querySelector('div').hasAttribute('class'); //true
    document.querySelector('div').hasOwnProperty('class'); //false
</script>

hasOwnProperty()

hasOwnProperty()只对JavaScript对象起作用,如果该对象具有与给定参数同名的属性,则返回true。

代码语言:javascript
复制
var obj = {
    myProp: "my attribute"
}

obj.hasOwnProperty("myProp") //true
obj.hasAttribute("myProp") //false

有些html元素可以在javascript中构建,这就是为什么hasOwnProperty有时适用于它,但hasAttribute对javascript对象不起作用。

票数 15
EN

Stack Overflow用户

发布于 2016-04-19 08:00:25

HTML:

代码语言:javascript
复制
<span medium-img>Whatever</span>

Javascript:

代码语言:javascript
复制
alert($('span').is('[medium-img]')); // Alerts true
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34601497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档