任何人都可以告诉我为什么这在旧版本的jQuery(例如1.4.2)中有效,但是如果您切换到更高版本,例如(1.6)它停止工作吗?
http://jsfiddle.net/nmvf6/1194/
$(function(){ $('#my_button').click(function(){ var unitName = "Unit2"; $('.assUnit').find('option[text="'+unitName+'"]').remove(); }); });
我已经检查控制台中的错误输出的更高版本,并且一个错误似乎发生在页面加载之前,我甚至加载了我的脚本,并能够点击按钮.
例如,当我将版本更改为1.8.0并运行该页面时,我的Opera脚本控制台中出现了this error:
http://s15.postimage.org/5yhodvirt/ess.png
这似乎是在一个“mootools”文件中.但是我没有选择mootools,我选择了jQuery 1.8.0
:/
谢谢.
解决方法
您正在使用
Attribute Equals
选择器,它选择具有与某个值完全相同的值的指定属性的元素,选项元素不具有文本属性,可以使用
:contains
选择器,请尝试:
Select all elements that contain the specified text.
$(function(){ $('#my_button').click(function(){ var unitName = "Unit2"; $('.assUnit').find('option:contains('+unitName+')').remove(); }); });
如果要选择仅具有某些值的元素,可以使用过滤器方法:
$(function(){ $('#my_button').click(function(){ var unitName = "Unit2"; $('.assUnit option').filter(function() { return $(this).text() === unitName }).remove(); }); });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。