我用JS在下拉框中更改了一些内容,但是innerHTML不会随更改的内容一起返回
I change something on dropdown box with JS, but innerHTML wont return with the changed content
>我有一个列表:
<select id = "opt">
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
</select>
让我们这样做:
alert (document.getElementById('opt').innerHTML);
它将打印:
<select id = "opt"><option value="a">a</option><option value="b">b</option><option value="c">c</option></select>
还没有问题。现在我更改所选项目:
for (var count = 0; count < document.getElementById('opt').childNodes[0].options.length; count++)
{
if (document.getElementById('opt').childNodes[0].options[count].value == 'b') { document.getElementById('opt').childNodes[0].options[count].selected = true; break; }
}
并再次打印:
alert (document.getElementById('opt').innerHTML);
它将再次打印:
<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" **selected="selected"**>b</option><option value="c">c</option></select>
所以.innerHTML
不遵循更改。如何解决?
您看到的是属性和属性之间的区别。创建元素时,selected
属性将复制到 selected
属性中。您正在更改属性,但这不会更改属性。
您可以在此处查看设置属性和属性之间的区别:
http://jsfiddle.net/Guffa/Pec9j/
Java 脚本是一种客户端语言。加载页面后,将应用 javascript,因此它不会更改已加载的页面源代码。如果你想知道选择了哪个元素-
var value = opt.options[opt.selectedIndex].value;
相关文章:
- 转义符不能与innerHTML一起使用
- 使用元素的值与innerHTML
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- Javascript form innerHTML
- JavaScript上的表单和innerHTML问题
- 如何使用innerHtml正确插入html
- jsi18n-django.catogue没有'不包含任何已翻译的字符串(但是djangojs.mo包含)
- 当我更改innerHtml时,引导选项卡事件不再工作
- 一个ajax循环有两个输出错误innerHTML
- 为什么JavaScript可以'找不到给定的InnerHTML并返回Cannot set property
- Advantages to DOMParser vs template & innerHTML
- innerHTML的子字符串可以在初始调用时提取吗
- CORS:否'访问控制允许来源'header-但是php设置头文件
- 如何逃离<脚本>jquery html()中的标记.我使用了innerHTML和outerHTML来解决这个
- Javascript innerHTML超出范围的问题
- Django导航:扩展与innerHTML
- 未捕获的类型错误:无法设置属性'innerHTML'如果为null,则将脚本移动到正文不会;不起作用
- innerHTML赢得't改变元素
- 我用JS在下拉框中更改了一些内容,但是innerHTML不会随更改的内容一起返回
- 在 css 中浮动导致元素向下移动 但是当 js 更改 innerHTML 时,它会上升