select元素添加option的add()方法 | try{}catch{}
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{}的更多相关文章
- JS对select动态添加option操作 (三级联动) (搜索拼接)
以下纯属自我理解之下再东搜西查的内容~ JS对select动态添加option操作有个高大上的艺名叫多级联动:第一级改变时,第二级跟着变,第二级改变时,第三级跟着变... 本菜鸟是在工作中遇到做收货地 ...
- js实现select动态添加option
关于 select 的添加 option 应该注意的问题. 标准的做法如上也就是说,标准的做法是 s.options.add();但是如果你一定要用 s.appendChild(option);注意了 ...
- border-radius是向元素添加圆角边框的方法
border-radius:10px; /* 所有角都使用半径为10px的圆角 */ border-radius: 5px 4px 3px 2px; /* 四个半径值分别是左上角.右上角.右下角和左下 ...
- JQuery为元素添加样式的实现方法
由于jquery支持css3,所有能很好的兼容很多浏览器,所以通过jquery来使用css样式比较好 为定义好的css样式可以调用元素的css方法添加样式 $("span").cs ...
- jQuery为动态生成的select元素添加事件的方法
项目中需要在点击按钮时动态生成select元素,为防止每次点击按钮时从服务器端获取数据(因为数据都是相同的),可以这样写代码 1.首先定义全局js变量 var strVoucherGroupSelec ...
- select初始化添加option,通过标签给出回显值,由于回显值和初始化值option中有一个值重复,去重等问题!
第一张图片: 第二张图片 /** *该方法是为了去重,所谓去重就是 因为回显给select附上了值并设置为selected选中状态,而在我们初始化所有的select添加option元素中于回显的值重复 ...
- jquery的select元素和option的相关操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- select 动态添加option函数
转自:https://lym6520.iteye.com/blog/309937 经常会用到select动态添加元素,写了个方法,方便调用! ... /** * 功能:select对象动态添加Opt ...
- select 中添加option的注意
在平时写JS中经常要给Select添加option,如果我们把option中的数据用一个字符串来表示: eg: var strOption='<option>1</option> ...
随机推荐
- Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener. ...nested exception is java.lang.NoSuchMethodError:
ssh 中,项目部署到服务器的时候,出现这样的奇葩的事情: 21-Oct-2017 11:27:15.953 INFO [localhost-startStop-1] org.apache.catal ...
- Android实现中文汉字笔划(笔画)、中文拼音排序、英文排序
发布时间:2018-11-16 技术:Android 概述 最近要做一个类似微信的,在登录界面选择国家地区的功能,微信有中文汉字笔画排序以及中文拼音排序等几种方式,如下所示: 简体中文 拼音排 ...
- Spring MVC测试框架详解——服务端测试
随着RESTful Web Service的流行,测试对外的Service是否满足期望也变的必要的.从Spring 3.2开始Spring了Spring Web测试框架,如果版本低于3.2,请使用sp ...
- 分享一个VS2008漂亮的黑色主题
如果恰巧你也使用Visual Studio 2008这个版本, 如果你也恰巧厌烦了白色的背景, 那么推荐你使用这款纯黑色theme,搭配上DroidSansMonog这个等宽字体(打包下载),每天都可 ...
- Tomcat无法访问中文路径的解决办法
来源于:http://sccassiel.blog.51cto.com/5398709/1141821/ 修改tomcat下的conf/server.xml文件下的 <Connector por ...
- 解决ubuntu13.04 有线网络 时常掉线的问题
不少朋友在升级或新装ubuntu13.04时遇到有线老掉线的问题:连上不到半分钟又掉了,把网线重新拔插一下又可以接着又掉..基本不能正常使用或工作,很恼人的问题. 网上这方面的资料很少现在我把解决方法 ...
- 将 numeric 转换为数据类型 numeric 时出现算术溢出错误
保存数据时控制台报错: Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 将 numeric 转换为数据类型 numeric 时出 ...
- [转]webMethods公司简介
原文链接 webMethods公司简介 webMethods,Inc.(美国纳斯达克股市上市代号:WEBM)为著名业务整合软件供应商之一.公司于1996年创立,总部位于美国佛吉尼亚州(Virginia ...
- 实现仿UC浏览器首页下拉动画
经常用UC看到首页有这么一个动画,就仿造写了一下. 实现分析 1.画曲线的动画 这个一眼看去就想到用贝塞尔曲线画,来看贝塞尔曲线方法,给出两个定点,和一个控制点就可以画. CGContextAddQu ...
- ruby的json请求
require 'net/http'require 'uri'require 'json' customers = [{ "id" => 1123, " ...