如何在Javascript中有效地定义自定义HtmleElement属性,以便能够使用HTML进行设置?
作为示例(请关注问题,而不是示例-我有很好的理由),我尝试在Javascript中的HTMLSelectElement对象上添加一个新的“占位符”属性。所以我这样说:如何在Javascript中有效地定义自定义HtmleElement属性,以便能够使用HTML进行设置?,javascript,html,dom,Javascript,Html,Dom,作为示例(请关注问题,而不是示例-我有很好的理由),我尝试在Javascript中的HTMLSelectElement对象上添加一个新的“占位符”属性。所以我这样说: <select id="gender" name="gender" placeholder="Male"> <option></option> <option>Male</option> <option>Female</optio
<select id="gender" name="gender" placeholder="Male">
<option></option>
<option>Male</option>
<option>Female</option>
<option>Other</option>
</select>
因此,尝试了这种方法,看看这是否有帮助:
HTMLSelectElement.prototype.placeholder=''代码>
但现在我得到了一个空字符串。有没有一种简单的方法可以访问HtmleElement上的自定义属性,而不必逐个遍历HtmleElement.attributes?请记住,我使用的是Vanilla JS和一些旧浏览器。只需使用getAttribute
获取占位符值:
document.getElementById(“性别”).getAttribute(“占位符”)
不
HTMLSelectElement.prototype.placeholder = '';
是否将其设置为空字符串
在您的示例中,您需要将男性选项设置为Selected,而不是使用适用于文本输入的占位符。使用.placeholder
设置/获取占位符警报(gender.placeholder)代码>选择没有占位符。。。那你想解决什么问题呢?@epascarello我正试图添加一个占位符属性来选择元素。@www139不适用于某些浏览器(如Chrome)谢谢:)我不知道这是一个简单的问题(+1),我认为旧浏览器不支持getAttribute,但事实上是这样。是的,我知道原型不是一个好主意,但我使用占位符还有其他原因,这些原因太长,无法解释这个问题。
HTMLSelectElement.prototype.placeholder = '';