任何人都可以告诉我为什么它适用于旧版本的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并运行该页面时,this error出现在我的Opera脚本控制台中:
http://s15.postimage.org/5yhodvirt/ess.png
这似乎出现在" mootools" file..but我没有选择mootools,我选择了jQuery 1.8.0
:/
感谢。
答案 0 :(得分:15)
您正在使用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();
});
});
答案 1 :(得分:2)
答案 2 :(得分:0)
试试这个
$(function(){
$('#my_button').click(function(){
var unitName = "Unit2";
$(".assUnit option:contains('"+unitName+"')").remove();
});
});