1.javascript中的select元素添加option使用add()方法

select的add方法,第一个参数是需要被添加的option元素,第二个参数决定了被添加的位置

普通浏览器中,第二个参数是一个既有的option对象,添加的option元素被插入到它之前.

ie7浏览器中,第二个参数是一个索引,表示第n个既有的option对象.

ie8以上版本,传入两种对象它都能识别.

如果没有第二个参数,则插入在最后.

对于普通浏览器,如果传入的是索引数值,它不会认为是出错,还是会添加在最后

2.jquery中的$.browser检测浏览器类型

参考:jquery实战/chapter6/$.browser(my).html

3.try{}catch{}进行分支避免检测浏览器

try{先执行的代码} catch(err){出错时执行的代码}

对于普通浏览器,如果传入的是索引数值,它不会认为是出错,还是会添加在最后,

所以,使用try{}catch{}方法解决这个问题,必须把普通浏览器的适用方法放在try里面.

参考代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>try{}catch{}以及select添加option的add方法</title>
<link rel="stylesheet" type="text/css" href="../common.css">
<script type="text/javascript"
src="../scripts/jquery-1.2.1.js"></script>
<script type="text/javascript">
//try{先执行的代码} catch(err){出错时执行的代码}
//select的add方法,第一个参数是需要被添加的option元素,第二个参数决定了被添加的位置
//普通浏览器中,第二个参数是一个既有的option对象,添加的option元素被插入到它之前.
//ie7浏览器中,第二个参数是一个索引,表示第n个既有的option对象.
//ie8以上版本,传入两种对象它都能识别.
//如果没有第二个参数,则插入在最后.
//对于普通浏览器,如果传入的是索引数值,它不会认为是出错,还是会添加在最后,所以,使用try{}catch{}方法解决这个问题,必须把普通浏览器的适用方法放在try里面.
$(function(){
$('#testButton').click(function(){
var selectElement=$('#testSubject')[0]; //通过下标可以把jquery对象转换为javascript对象
try{ //普通浏览器和ie8以上版本执行以下代码
selectElement.add(new Option('2.5'),selectElement.options[2])
}
catch(err){ //ie7执行以下代码
selectElement.add(new Option('2.5'),2)
}
})
});
</script>
</head> <body class="plain">
<select id="testSubject" multiple="multiple" size="5">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
</select>
<div>
<button type="button" id="testButton">Click me!</button>
</div>
</body>
</html>

select元素添加option的add()方法 | try{}catch{}的更多相关文章

  1. JS对select动态添加option操作 (三级联动) (搜索拼接)

    以下纯属自我理解之下再东搜西查的内容~ JS对select动态添加option操作有个高大上的艺名叫多级联动:第一级改变时,第二级跟着变,第二级改变时,第三级跟着变... 本菜鸟是在工作中遇到做收货地 ...

  2. js实现select动态添加option

    关于 select 的添加 option 应该注意的问题. 标准的做法如上也就是说,标准的做法是 s.options.add();但是如果你一定要用 s.appendChild(option);注意了 ...

  3. border-radius是向元素添加圆角边框的方法

    border-radius:10px; /* 所有角都使用半径为10px的圆角 */ border-radius: 5px 4px 3px 2px; /* 四个半径值分别是左上角.右上角.右下角和左下 ...

  4. JQuery为元素添加样式的实现方法

    由于jquery支持css3,所有能很好的兼容很多浏览器,所以通过jquery来使用css样式比较好 为定义好的css样式可以调用元素的css方法添加样式 $("span").cs ...

  5. jQuery为动态生成的select元素添加事件的方法

    项目中需要在点击按钮时动态生成select元素,为防止每次点击按钮时从服务器端获取数据(因为数据都是相同的),可以这样写代码 1.首先定义全局js变量 var strVoucherGroupSelec ...

  6. select初始化添加option,通过标签给出回显值,由于回显值和初始化值option中有一个值重复,去重等问题!

    第一张图片: 第二张图片 /** *该方法是为了去重,所谓去重就是 因为回显给select附上了值并设置为selected选中状态,而在我们初始化所有的select添加option元素中于回显的值重复 ...

  7. jquery的select元素和option的相关操作

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. select 动态添加option函数

    转自:https://lym6520.iteye.com/blog/309937 经常会用到select动态添加元素,写了个方法,方便调用!  ... /** * 功能:select对象动态添加Opt ...

  9. select 中添加option的注意

    在平时写JS中经常要给Select添加option,如果我们把option中的数据用一个字符串来表示: eg: var strOption='<option>1</option> ...

随机推荐

  1. android使用GestureDetector实现手势下滑关闭页面的效果。

    实现类似Android风云直播手机端注册登录页,当手势向下滑动的时候,关闭页面的效果. 使用GestureDetector来实现这个效果,当手势在屏幕上面滑动的时候 ,会掉用onFling方法,所以, ...

  2. Java中存储金额用什么数据类型?

    转自:https://blog.csdn.net/u011277123/article/details/70214630 很早之前, 记得一次面试, 面试官问存储金钱用什么数据类型? 当时只知道8种数 ...

  3. grib文件

    一.grib文件简介 WMO是世界气象组织,world meteorology organization. GRIB是WMO开发的一种用于交换和存储规则分布数据的二进制文件格式.最初GRIB表示&qu ...

  4. leetcode770. Basic Calculator IV

    此题真可谓是练习编程语言的绝好材料 ! import java.util.*; class Solution { class Item { Map<String, Integer> var ...

  5. XML 特殊字符处理

    在XML中,有一些符号作为XML 的标记符号,一些特定情况下,属性值必须带有这些特殊符号. 下面主要是讲解一些常用的特殊符号的处理 例一: 双引号的使用. 双引号作为XML 属性值的开始结束符号,因此 ...

  6. 【MySQL】MySQL的约束

    在开始之前,笔者介绍一下笔者使用的数据库版本为5.7.所有的关系型数据库都支持对数据表使用约束,通过约束可以更好的保证数据表里数据的完整性.约束是在表上强制执行的数据校验,约束主要用于保证数据库里数据 ...

  7. sql中union 和 union all的区别

    最近发现一个视图出奇的慢,在生产环境还好,由于服务器配置较高,没有察觉出来.但是做了一次修改后在开发版 和测试版就直接查询不出结果了.就连select count(1) from 都运行2个小时没有结 ...

  8. Android插件化与热修复(六)-微信Tinker原理分析

    Tinker热修复原理分析 热补丁技术是在用户不需要重新安装应用的情况下实现应用更新,可快速解决一些线上问题.热补丁省去了Android应用发布版本的成本,而且用户端的更新也是无感知的. Tinker ...

  9. SharePoint 2013 创建 Site Collection

    在之前的文章中,通过SharePoint Central Administration 创建了Web Application.在这篇文章中将继续SharePoint 2013之旅——还是以Step B ...

  10. Redis介绍及安装

    官网:https://redis.io/ Redis中文社区:http://www.redis.net.cn/ Redis教程:http://www.redis.net.cn/tutorial/350 ...