如何在下拉列表中传递属性而不是所选值

How to pass an attribute instead of the selected value in a dropdown

我想在 testEmail 变量中传递电子邮件属性,但它传递的是名称 John Doe

<option value="2" email="test@email.com">John Doe</option>
var testEmail = $("#nameofDropdown option:selected").text();
var email = promt("Enter an email to send to", testEmail );

我知道它与这一行有关 option:selected 只是不确定要将其更改为什么才能收到电子邮件。

使用.attr()而不是.text()

$("#nameofDropdown option:selected").attr('email')

console.log($("option").attr('email'));
<option value="2" email="test@email.com">John Doe</option>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous"></script>