2015-09-29 4 views
0

В нижней части страницы находится строка «Шаг 2», которая открывает вкладку аккордеона. В первом разделе интерфейса находится второй снимок, который читает Select Servive.jQuery .remove() опция using: содержит()

Im пытается использовать: содержит() и .remove() для удаления опций, содержащих слово «Телефон» в тексте. Вот мой код, но он не работает. Моя ошибка гласит, что Im не хватает закрытия), но я не могу видеть, где.

<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(); 
}); 

UPDATE: Ive заметил что-то другое. Все, что я пытаюсь сделать с любым из элементов этого плагина, похоже, не работает. Это разница в синтаксисе моего jQuery и кода в файле сценариев.

https://jsfiddle.net/7oh7k47m/

+0

Какой у вас HTML? Принимая во внимание, что это не имеет отношения к проблеме, учитывая опечатку [идентифицированную meagar] (http://stackoverflow.com/a/32854012/82548)); но в большинстве случаев проще помочь, когда вопрос содержит «[MCVE]». –

+0

Является ли код, который вы разместили здесь, точно так же, как ваш код? Вы используете '' ', чтобы открыть свою строку, но также указать« Телефон », и, скорее всего, вы получаете ошибку. – mcon

+0

Точно так же ни одно из ваших решений, похоже, не работает. Я попытался добавить URL-адрес вопроса, но он был удален. –

ответ

1

Вы вложенности '' внутри, преждевременного завершения вашей строки. Вам нужно избегать вложенных ' с \'.

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

Точно так же ни одно из ваших решений, похоже, не работает. Я попытался добавить URL-адрес вопроса, но он был удален. –

0

Одиночные кавычки около Phone закрывают селекторную строку.

Попробуйте изменить кавычки телефона в двойные кавычки ("Phone"):

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/

+0

Точно так же ни одно из ваших решений, похоже, не работает. Я попытался добавить веб-адрес к вопросу, но он был удален. –

+0

@AlexKnopp - Кажется, он работает здесь: http://jsfiddle.net/jnrrczgy/ Это соответствует вашему примеру? –

+0

То же самое я проверил. В любом случае, я могу опубликовать ссылку на мой сайт, чтобы узнать, есть ли у кого-нибудь дополнительные сведения о том, почему этот скрипт не работает? –

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

Мой ответ довольно много аналогичных. Единственное отличие здесь в том, что у меня есть рабочая скрипка https://jsfiddle.net/enge6saa/