jQuery .remove()选项使用:contains()

时间:2015-09-29 21:22:15

标签: jquery

在页面底部是一行"步骤2"打开手风琴标签。在界面的第一部分是第二个下拉,它显示选择服务。

我试图使用:contains()和.remove()来删除文本中包含单词Phone的选项。这是我的代码,但它似乎没有用。我的错误读到我错过了一个结束但我不知道在哪里。

<select class="ab-formElement ab-select-mobile ab-select-service">
   <option value="">Select service</option>
   <option value="1">Early Pregnancy Scan</option>
   <option value="2">2D Sexing / Gender Scan</option>
   <option value="18">Phone Booking Only &gt; Bundle of Joy</option>     
</select>

jQuery(document).ready(function($){
$=jQuery;
var option = jQuery('select.ab-select-service option:contains('Phone')');
$(option).remove();
});

更新: 我注意到了别的东西。 我试图对这个插件中的任何元素做的任何事情似乎都行不通。我的jQuery语法和脚本文件中的代码有所不同。

https://jsfiddle.net/7oh7k47m/

3 个答案:

答案 0 :(得分:1)

您在'内嵌套',过早地终止了您的字符串。您需要使用'转义嵌套的\'

var option = jQuery('select.ab-select-service option:contains(\'Phone\')');

答案 1 :(得分:0)

Phone周围的单引号正在关闭选择器字符串。

尝试将手机周围的报价更改为双引号(&#34;电话&#34;):

var option = jQuery('select.ab-select-service option:contains("Phone")');

或用反斜杠转义单引号:

var option = jQuery('select.ab-select-service option:contains(\'Phone\')');

根据jQuery网站,您也可以完全删除引号:

  

与属性值选择器一样,括号内的文本:contains()可以写成单词或用引号括起来。文本必须具有匹配的案例才能被选中。

https://api.jquery.com/contains-selector/

答案 2 :(得分:0)

var option = jQuery('select.ab-select-service option:contains(\'Phone\')');

我的答案非常相似。这里唯一的区别是我有一个工作小提琴https://jsfiddle.net/enge6saa/