[英]find select option by text
任何人都可以告诉我为什么这适用于旧版本的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脚本控制台中出现此错误 :
这似乎是在一个“mootools”文件..但我没有选择mootools,我选择了jQuery 1.8.0
:/
谢谢。
您正在使用Attribute Equals
选择器,它选择具有指定属性且具有完全等于某个值的值的元素,选项元素没有text
属性,您可以使用:contains
选择器,请尝试:
选择包含指定文本的所有元素。
$(function(){
$('#my_button').click(function(){
var unitName = "Unit2";
$('.assUnit').find('option:contains('+unitName+')').remove();
});
});
如果要选择仅具有特定值的元素,可以使用filter
方法:
$(function(){
$('#my_button').click(function(){
var unitName = "Unit2";
$('.assUnit option').filter(function() {
return $(this).text() === unitName
}).remove();
});
});
试试这个
$(function(){
$('#my_button').click(function(){
var unitName = "Unit2";
$(".assUnit option:contains('"+unitName+"')").remove();
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.