`
lgstarzkhl
  • 浏览: 330586 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

使用jquery动态修改dom元素属性在IE下的问题

阅读更多
今天在做程序的过程中,遇到一个问题,就是处理修改click属性的时候出现的,当使用jquery动态的修改onclick属性的时候,有的时候会出现不好用的情况
于是到网上找到了对应的解决方案

Js代码 复制代码

   1. $(“#some_element”).attr(‘onclick’,"//some new operation");  

$(“#some_element”).attr('onclick',"//some new operation");

  但是这段代码在FireFox下会按我们的意图正确执行,但是在IE下什么动静都没有。关于问题的描述,可以参考:

  http://www.nabble.com/onClick-prepend-td15194791s27240.html

  http://ajaxian.com/archives/evaling-with-ies-windowexecscript

  解决的方法也很简单:
Js代码 复制代码

   1. $(“#some_element”).unbind(‘click’).removeAttr(‘onclick’).click(function(){  
   2. //new operation 
   3. });  

经过修改后的代码如下:
 //弹出添加device窗体	
    	function addDevice(){
			win.window('open');
			form.form('clear');
			$('#btn-save').unbind('click').removeAttr('onclick').click(
				function(){
					form.form('submit',{
						url:"/moon/device/device.do?method=addDevices",
						onSubmit:function(){},
						success:function(data){
							eval('data='+data);
							if (data.success){
								grid.datagrid('reload');
								win.window('close');
							} else {
								$.messager.alert('错误',data.msg,'error');
							}
					    }
					});
				}
			);
		}


修改的代码如下:
function editDevice(){
			var row = grid.datagrid('getSelected');
			if (row){
				win.window('open');
				form.form('load', '/moon/device/device.do?method=getDevicesById&id='+row.id);
				$('#btn-save').unbind('click').removeAttr('onclick').click(
					function(){
						form.form('submit',{
							url:'/moon/device/device.do?method=updateDevice&id='+row.id,
							onSubmit:function(){},
							success:function(data){
								eval('data='+data);
								if (data.success){
									grid.datagrid('reload');
									win.window('close');
								} else {
									$.messager.alert('错误',data.msg,'error');
								}
						    }
						});
					}
				);
			}else{
				$.messager.show({
					title:'警告', 
					msg:'请先选择要修改的记录。'
				});
			}
		}


修改后界面如下



可以实现CRUD操作了!!!
  • 大小: 46 KB
分享到:
评论

相关推荐

    基于jquery的关于动态创建DOM元素的问题

    在JavaScript和jQuery的世界里,动态创建DOM元素是常见的需求,特别是在构建交互丰富的Web应用时。然而,不恰当的实现方式可能会导致性能问题和兼容性挑战。让我们深入探讨基于jQuery的动态创建DOM元素的最佳实践。 ...

    javascript转换字符串为dom对象(字符串动态创建dom).docx

    但是,在动态创建 DOM 对象时,我们可以使用 `innerHTML` 属性来实现字符串到 DOM 的转换。 在实际应用中,我们可以使用这个函数来动态创建 DOM 对象,例如: ```javascript var b$ = { parseDom: function(arg) ...

    管理Jquery包装集

    【管理Jquery包装集】是jQuery使用中的一个重要概念,它是指使用jQuery选择器获取的一组DOM元素的集合,通常被称为jQuery对象。这个包装集提供了丰富的API,使得对多个DOM元素的操作变得简单高效。 在jQuery中,当...

    ie js实现圆角

    首先,我们要明白,JavaScript可以通过修改DOM元素的样式属性来模拟圆角效果。在非IE浏览器中,我们可以直接使用CSS3的`border-radius`属性,但在IE6-8中,我们需要借助其他方法。以下介绍四种常见的JavaScript或...

    jquery1.4.1使用手册

    1. **选择器**:jQuery的选择器是其强大之处,允许开发者使用CSS1、CSS2甚至CSS3的选择器来选取DOM元素。例如,`$("#id")`选取ID为指定值的元素,`$(".class")`选取所有类名为指定值的元素,`$("tag")`选取所有指定...

    jquery上下滚动插件

    6. **兼容性处理**:确保在各种浏览器(尤其是老版本的IE)中都能正确运行,可能需要使用jQuery的`.browser`方法或Modernizr等工具检测浏览器特性。 在压缩包中的`test.html`文件很可能是插件的示例页面,用于演示...

    JQuery1.4.1

    - **选择器**: jQuery 提供了丰富的CSS选择器,使得选取DOM元素变得简单,如 `$("#id")` 选择ID为id的元素,`$(".class")` 选择所有类名为class的元素。 - **链式操作**: jQuery对象返回的是jQuery实例,允许进行...

    jQuery 类库以及使用说明

    2. 选择器:jQuery提供了丰富的选择器,如ID选择器(`#id`),类选择器(`.class`),属性选择器(`[attribute=value]`)等,用于选取DOM元素。 3. 链式操作:jQuery对象的方法返回的是jQuery对象本身,允许进行...

    【这个有问题。。】[jQuery] 解決 IE6 PNG 透明背景 (Supersleight jQuery Plugin for Transparent PNGs in IE6)

    虽然Supersleight解决了IE6的问题,但它并不适用于其他版本的Internet Explorer或非IE浏览器,因此在现代网页设计中,可能需要结合使用其他技术,如CSS3的`background-image`和`opacity`属性,以确保在多种浏览器下...

    JQuery核心工具包

    `$(element)`将DOM元素转换为jQuery对象,`$(selector)[index]`或`.get(index)`则可将jQuery对象转为DOM元素。 ### 7. jQuery插件 jQuery生态系统庞大,拥有无数插件扩展其功能。例如,用于图片轮播的`jQuery....

    jquery插件使用方法大全

    attribute(改进了.attr()的性能)、jQuery()核心函数、CSS(.css()性能有两倍提升)、特效和事件、DOM操作等也有显著改进 1.5 美国时间1月31日John Resig在jQuery官方博客发表文章,宣布jQuery 1.5正式版已经如期...

    JS选取DOM元素的简单方法

    摘自JavaScript权威指南(jQuery根据样式选择器查找元素的终极方式是 先用getElementsByTagName(*)获取所有DOM元素,然后根据样式选择器对所有DOM元素进行筛选) 今天试了下各种选取元素的方法的速度,用原生的方法...

    jQuery技术jQuery技术jQuery技术

    1. **选择器**: jQuery提供了丰富的CSS选择器,使得选取DOM元素变得异常简单,如`$("#id")`选择ID为id的元素,`$(".class")`选择所有class为class的元素。 2. **链式操作**: jQuery对象的方法返回的是jQuery对象...

    超实用的jQuery代码段

    全书分为11章,包含网页效果、DOM元素与属性、HTML事件、CSS样式、用户输入自动完成、拖放、图形图像、AJAX、算法、jQuery Mobile应用、浏览器、Cookies等jQuery技术内容,对提高网站开发人员和设计人员的jQuery技术...

    使用jQuery实现仿2010京东商城商品分类导航菜单

    在本文中,我们将深入探讨如何使用jQuery来实现一个仿2010年京东商城的商品分类导航菜单。这个功能是电商网站的重要组成部分,它为用户提供了一种直观、方便的方式来浏览和筛选各种商品类别。我们将讨论jQuery的基本...

    jQuery做浮动层/浮动广告/漂浮

    5. **兼容性**:描述中提到该插件在ie6/ie7/ie8/firefox下都能用,这表明开发者已经考虑了浏览器兼容性问题。在旧版本的Internet Explorer中,可能需要使用特定的CSS hack或jQuery的兼容模式来确保正常工作。 6. **...

    IE8兼容性和判断IE浏览器版本

    此外,IE8不支持rem单位,解决办法是使用rem.js库,在页面中引用rem.js文件,需要引用在页脚,也就是末尾,在所有css文件引用和DOM元素之后。 再次,IE8不支持css3的background-size的cover和contain属性,解决办法...

    jquery 1.4.4 + 帮助文档

    1. 快速选择器:jQuery 1.4.4改进了选择器引擎,使得DOM元素的查找速度更快,尤其在处理大型DOM树时表现优异。 2. 动画效果增强:这个版本加强了动画效果的控制,如淡入淡出、滑动等,提供了更灵活的参数设置,允许...

    jQuery常见问题及用法

    在jQuery中,`$("#save")`返回的是一个jQuery对象,而不是DOM元素。因此,直接设置`.disabled = true`无效。正确做法是使用`.attr()`方法,如`$("#save").attr("disabled", "true")`,或者将jQuery对象转换为DOM...

    jquery1.7中文参考手册

    1. **选择器**:jQuery提供了强大的选择器功能,如ID选择器(#id)、类选择器(.class)、元素选择器(tag)、属性选择器([attr=value])等,能方便地选取DOM元素。 2. **链式操作**:jQuery的API设计允许方法之间...

Global site tag (gtag.js) - Google Analytics