select元素的options.add 与 insertbefore的区别
生活随笔
收集整理的這篇文章主要介紹了
select元素的options.add 与 insertbefore的区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
之前寫了js checkbox.checked=true在document.body.appendChild(checkbox)前與后賦值,提到如果想改變元素的視覺效果(checkbox.checked=true會打鉤),請?jiān)诎言靥砑拥巾撁嫔显贋槠滟x值,否則賦值無效。下拉框元素也有這樣的問題,比如在設(shè)置其selectedIndex屬性時,會看到當(dāng)前被選中的Item,瀏覽器重新繪畫了這個元素。在某些情況下會出現(xiàn)這樣的情況:用insertBefore方法添加了多個選項(xiàng)后,設(shè)置其selectedIndex不能起到效果,用options.add則不會。他們到底有什么區(qū)別呢??
測試代碼如下:
<html?xmlns="http://www.w3.org/1999/xhtml"?>
<head>
????<title>Untitled?Page</title>
</head>
<body?onload="f()">
<select?id="s">
????
</select>
</body>
<script>
function?f(){
????for(var?i=0;?i<10;?i++){
????????var?option?=?document.createElement('option')
????????//s.insertBefore(option)
????????s.options.add(option)
????????option.innerText?=?'hello'?+?i
????????option.value?=?i
????}
????s.selectedIndex?=?4
}
</script>
</html>
總結(jié):這也算一個有點(diǎn)奇妙的問題吧。
總結(jié)
以上是生活随笔為你收集整理的select元素的options.add 与 insertbefore的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 防范SQL指令植入式***
- 下一篇: 走向成功 开发自我