Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中有效地定义自定义HtmleElement属性,以便能够使用HTML进行设置?_Javascript_Html_Dom - Fatal编程技术网

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

如何在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

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

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