2011-02-10 3 views
1

Я устанавливаю переменную в содержимое тега h1 на моем сайте. Я хочу написать оператор if, который проверяет, есть ли в этом теге h1 определенное слово. Мне нужно установить раскрывающийся список, основанный на названии формы.Тестирование, чтобы увидеть, является ли текстовая строка частью переменной

Итак, у меня есть этот html.

<div id="booking-details"><h1>This is Los Angeles</h1></div> 

Вот JQuery:

var city = $('#booking-details h1').text(); 
if (city.text().indexOf('Los Angeles') >= 0)) {alert("This city is Los Angeles")}; 

Я получаю синтаксическую ошибку и не совсем уверен, как вытащить индекс текста из переменной.

Заранее благодарим за любую помощь.

ответ

0

Вы используете text() дважды, просто сделать:

var city = $('#booking-details h1').text(); 
if (city.indexOf('Los Angeles') >= 0)) {alert("This city is Los Angeles")}; 

Или:

var city = $('#booking-details h1'); 
if (city.text().indexOf('Los Angeles') >= 0)) {alert("This city is Los Angeles")}; 
+0

Это работает как шарм, за исключением того, я была лишняя скобка в там, который вызывает ошибку синтаксиса. –

3

Я не думаю, что вы можете получить текст() текста(). Вы пробовали:

var city = $('#booking-details h1'); 
if (city.text().indexOf('Los Angeles') >= 0)) {alert("This city is Los Angeles")}; 
0

Вы делаете city.text() когда вы уже установили city в $('#booking-details h1').text();?

Использование

var city = $('#booking-details h1'); 
if (city.text().indexOf('Los Angeles') >= 0)) {alert("This city is Los Angeles")}; 
0

... Я немного опоздал, но и для других кто найдет это через Google, попробуйте попытку чистого jQuery:

HTML

<div id="booking-details"> 
    <h1>The city of Los Angeles</h1> 
</div> 

JQuery

var city = 'Los Angeles'; 
if ($('#booking-details h1:contains("' + city + '")').text().length) 
    alert('Welcome to ' + city); 

Test it on jsfiddle.net

Смежные вопросы