作为一个例子(请关注问题,而不是例子——我有充分的理由),我正在尝试在Javascript中的HTMLSelectElement对象上添加一个新的“placeholder”属性。所以我这样做:
现在如果我运行这个程序,会得到“未定义”的结果:
<select id="gender" name="gender" placeholder="Male">
<option></option>
<option>Male</option>
<option>Female</option>
<option>Other</option>
</select>
现在如果我运行这个程序,会得到“未定义”的结果:
var gender = document.getElementById('gender');
alert(gender['placeholder']);
于是我尝试了这个方法,看看是否有帮助:
HTMLSelectElement.prototype.placeholder = '';
但现在我得到的是一个空字符串。有没有一种简单的方法可以访问HTMLElement上的自定义属性,而不必逐个遍历HTMLElement.attributes?请记住,我正在使用原生JS和一些旧浏览器。
.placeholder
来设置/获取占位符alert(gender.placeholder);
。 - www139HTMLSelectElement.prototype
上定义placeholder
作为 getter/setter,内部调用setAttribute/getAttribute
,以便属性和属性映射彼此,就像title
一样。 - dandavis