Javascript 通过其值获取特定选项元素的id

Javascript 通过其值获取特定选项元素的id,javascript,select,parent,Javascript,Select,Parent,这里我有几个option元素。其中一个包含值apple。我想获取包含值apple的option元素的id。到目前为止,我做了以下操作。但无法获取文本节点的父元素 <!DOCTYPE html> <html> <body> <form> Select a fruit: <br> <select id="mySelect" size="4"> <option id='for_apple'>Apple</o

这里我有几个option元素。其中一个包含值apple。我想获取包含值apple的option元素的id。到目前为止,我做了以下操作。但无法获取文本节点的父元素

<!DOCTYPE html>
<html>
<body>

<form>
Select a fruit:
<br>
<select id="mySelect" size="4">
  <option id='for_apple'>Apple</option>
  <option>Pear</option>
  <option>Banana</option>
  <option>Orange</option>
</select>
</form>
<br>

<button onclick="myFunction()">Remove selected fruit</button>

<script>
function myFunction() {
   var str="Apple";
    var x = document.getElementById("mySelect");
    if(x[x.selectedIndex].value == str){
      alert((x[x.selectedIndex].value).parentElement.id);
   }
}
</script>

</body>
</html>

选择一种水果:

苹果 梨 香蕉 橙色
去掉选定的水果 函数myFunction(){ var str=“苹果”; var x=document.getElementById(“mySelect”); if(x[x.selectedIndex].value==str){ 警报((x[x.selectedIndex].value.parentElement.id); } }
父元素将是
选择
元素本身,对吗

如果要提醒id该特定选项,则

替换

if(x[x.selectedIndex].value == str){
  alert((x[x.selectedIndex].value).parentElement.id);
}


代码中已经有父元素,即
var x=document.getElementById(“mySelect”)
元素的父元素的方式不正确,您可以作为
警报(元素[index].parentElement)执行此操作
其中
元素
是HTML
元素,但这是不必要的,因为元素和parentElement都指向同一个元素

你可以这样做

函数removeSelectedFruit(){
var值='苹果';
var元素=document.getElementById(“水果”);
var指数=element.selectedIndex;
如果(索引==-1){
返回;
}
if(element.options[index].value==value){
警报(element.options[index].id);
//或者正如gurvinder372所建议的警报(元素[index].id);
元素。删除(索引);
}
}

挑选一种水果
苹果
梨
香蕉
橙色
去掉选定的水果
alert( x[x.selectedIndex].id );