Javascript 我用JS在下拉框中更改了一些内容,但innerHTML不会返回更改的内容

Javascript 我用JS在下拉框中更改了一些内容,但innerHTML不会返回更改的内容,javascript,html,dom,option,Javascript,Html,Dom,Option,我有一份清单: <select id = "opt"> <option value="a">a</option> <option value="b">b</option> <option value="c">c</option> </select> 它将打印: <select id = "opt"><option value="a">a</option>

我有一份清单:

<select id = "opt">
  <option value="a">a</option>
  <option value="b">b</option>
  <option value="c">c</option>
</select>
它将打印:

<select id = "opt"><option value="a">a</option><option value="b">b</option><option value="c">c</option></select>
它将再次打印:

<select id = "opt"><option value="a">a</option><option value="b">b</option><option value="c">c</option></select>
abc
但我不希望发生这样的事

<select id = "opt"><option value="a">a</option><option value="b" **selected="selected"**>b</option><option value="c">c</option></select>
abc

因此,
.innerHTML
不会跟随这些更改。如何修复它?

Java脚本是一种客户端语言。加载页面后,将应用javascript,因此不会更改已加载的页面源。如果要知道选择了哪个图元-

var value = opt.options[opt.selectedIndex].value;

Java脚本是一种客户端语言。加载页面后,将应用javascript,因此不会更改已加载的页面源。如果要知道选择了哪个图元-

var value = opt.options[opt.selectedIndex].value;

您看到的是属性和属性之间的差异。创建元素时,
selected
属性将复制到
selected
属性中。您正在更改属性,但这不会更改属性

您可以在此处看到设置属性和属性之间的区别:


您看到的是属性和属性之间的差异。创建元素时,
selected
属性将复制到
selected
属性中。您正在更改属性,但这不会更改属性

您可以在此处看到设置属性和属性之间的区别:


在浏览器中,B项实际上已被选中!在浏览器中,B项实际上已被选中!但遗憾的是,我需要知道下拉框no的内容,
innerHTML
不会返回原始源代码,而是从元素中创建新的源代码。但是,它使用属性来创建代码,而不是属性。但遗憾的是,我需要知道下拉框no的内容,
innerHTML
不会返回原始源代码,而是从元素中创建新的源代码。但是,它使用属性而不是属性来创建代码。@约翰史密斯:您可以使用Javascript中的
setAttribute
方法来创建代码:
document.getElementById('opt').childNodes[0]。选项[count]。setAttribute('selected','selected')@JohnSmith-Hmm。。。几天前你问了同样的问题,你得到了同样的答案…?@JohnSmith:你可以使用Javascript中的
setAttribute
方法做同样的事情:
document.getElementById('opt').childNodes[0]。options[count].setAttribute('selected','selected')@JohnSmith-Hmm。。。几天前你问了同样的问题,你得到了同样的答案。。。?
<select id = "opt"><option value="a">a</option><option value="b" **selected="selected"**>b</option><option value="c">c</option></select>
var value = opt.options[opt.selectedIndex].value;