Javascript 从选择框中选择选项

Javascript 从选择框中选择选项,javascript,html,select,Javascript,Html,Select,如何使用javascript(/console在google chrome中)选择选项? 这是html代码的一部分: <nobr> Element<br> <span class="absatz"> &nbsp;<br> </span> <select name="element" class="selectbox" style="width:114" size="12" onch

如何使用javascript(/console在google chrome中)选择选项? 这是html代码的一部分:

<nobr>
    Element<br>
    <span class="absatz">
     &nbsp;<br>
    </span>
    <select name="element" class="selectbox" style="width:114" size="12" onchange="doDisplayTimetable(NavBar, topDir);">
        <option value="0">- All -</option>
        <option value="1">A</option>
        <option value="2">B</option>
        <option value="3">X</option>
        <option value="4">C</option>
        <option value="5">D</option>
        <option value="6">E</option>
        <option value="7">F</option>
        <option value="8">G</option>
        <option value="9">H</option>
        <option value="10">I</option>
        <option value="11">J</option>
        <option value="12">K</option>
        <option value="13">L</option>
        <option value="14">M</option>
        <option value="15">N</option>
        <option value="16">O</option>
        <option value="17">P</option>
        <option value="18">Q</option>
        <option value="19">R</option>
    </select>
</nobr>
但是它给了我一个错误:

未捕获的TypeError:无法设置未定义的属性“值” 两点四十八分 在Object.InjectedScript._evaluateOn(:875:140) 在Object.InjectedScript.\u evaluateAndWrap(:808:34) 在Object.InjectedScript.evaluate(:664:21)

编辑:
我试过了,但在整个网站上都不起作用。可能是因为在第一个html标记中有另一个html标记(如果我下载网站,在selectbox所在的位置有另一个名为welcome.html的html文件)。我认为它在iFrame中,因为chrome给了我“show Frame”选项

编辑2: 我可以访问selectbox所在的框架,但仍然找不到selectbox。这是框架的代码(不是完整代码):pastebin.com/iVUeDbYV

试试这个:

document.querySelectorAll('[name="element"]')[0].value;
虽然很奇怪,
getElementsByName
不适合您。您确定
元素
在同一文档中,而不是在iFrame中吗?

简单的答案是:

document.getElementById("select_element").selectedIndex = "option index";
其中option index是下拉列表中要激活的选项的索引

您可以使用以下方法获取选项的索引:

var selected = document.querySelector( '#'+div+' > option[value="'+val+'"]' );
其中div是
标记的ID


这是多么有用啊

这将满足您的需求

document.querySelector('[name="element"]').value = 4 // The value you want to select
这将检索值

var value = document.querySelector('[name="element"]').value; // 4
这就解释了发生了什么

var option = document.querySelector('[name="element"]');//option element
    option.value; // 4
    option.selectedIndex; // 4
    option.selectedOptions; // [<option value="4">C</option>]
    option.selectedOptions[0].innerText; // C
    option.selectedOptions[0].value; // 4

在谷歌上输入你的问题:)你的代码在这里工作。fiddle唯一一个你可能不会做的事情就是它在之后运行JavaScript。我试过了,但在整个网站上都不起作用。可能是因为html标记中有一个html标记(如果我下载网站,在选择框所在的位置有另一个名为welcome.html的html文件)。我认为它在一个iFrame中。当然,必须有一个
iFrame
,因为在另一个内有一个html标记是。。。。。可怕:)。如果iframe中的额外文档是从同一位置加载的,则可以使用:
document.getElementById('iframe').contentWindow.document.getElementsByName('element')[0]
谢谢!我可以用它访问框架,但它仍然找不到选择框。这是框架的代码(不是完整的代码):好的,我用这个:document.getElementById('blockrandom').contentWindow.document.getElementsByTagName('frame')[1]谢谢!
var option = document.querySelector('[name="element"]');//option element
    option.value; // 4
    option.selectedIndex; // 4
    option.selectedOptions; // [<option value="4">C</option>]
    option.selectedOptions[0].innerText; // C
    option.selectedOptions[0].value; // 4
window.onload = function() {  
    document.querySelector('[name="element"]').value = 0; // sets a default value   
}