gpt4 book ai didi

javascript - hasAttribute 与 hasOwnProperty

转载 作者:太空狗 更新时间:2023-10-29 14:09:31 27 4
gpt4 key购买 nike

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

<input type="text" name="fname" placeholder="First name">

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

据我了解,这应该始终是

if(!e.hasAttribute("placeholder")){...}

但是 hasAttribute 和 hasOwnProperty 有什么区别呢? 它们是否等价?

最佳答案

hasAttribute()

hasAttribute() 仅适用于 html 元素,如果该元素具有与给定参数相同的属性名称,则返回 true。

<div class="myClass"></div>

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

hasOwnProperty()

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

var obj = {
myProp: "my attribute"
}

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

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

关于javascript - hasAttribute 与 hasOwnProperty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34601497/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com