如何在Javascript中有效地定义自定义HTMLElement属性,以便能够使用HTML进行设置

How to effectively define a custom HTMLElement attribute in Javascript so as to be able to set it using HTML?

本文关键字:能够使 HTML 设置 属性 Javascript 有效地 HTMLElement 自定义 定义      更新时间:2023-09-26

作为一个示例(请关注问题,而不是示例-我有充分的理由这样做),我正试图在Javascript中的HTMLSelectElement对象上添加一个新的"占位符"属性。所以我这样说:

<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 = '';

但现在我得到了一个空字符串。有没有一种简单的方法可以访问HTMLElements上的自定义属性,而不必逐个循环遍历HTMLElement.attributes?请记住,我使用的是VanillaJS和一些旧浏览器。

只需使用getAttribute即可获取占位符值:document.getElementById("gender").getAttribute("placeholder")

是否进行

HTMLSelectElement.prototype.placeholder = '';

真的把它设置为空字符串吗?

在您的示例中,您需要将"男性"选项设置为"选定",而不是使用适用于文本输入的占位符。