2012-04-05 4 views
0

Я пытаюсь использовать jQuery для поиска по списку ссылок и захвата текста по ссылке, соответствующей критериям. Вот пример структуры:jQuery, чтобы вытащить текст из списка ссылок

<div class="shortcut_box"> 
    <p>Select a category</p> 
    <ul id="select_nav"> 
    <li><a href="doing-business/directory/#acupuncture">Acupuncture</a></li> 
    <li><a href="doing-business/directory/#advertising">Advertising</a></li> 
    <li><a href="doing-business/directory/#apparel">Clothing and Apparel</a></li> 
    <li><a href="doing-business/directory/#automotive">Automotive</a></li> 
    </ul> 
</div> 
<h3 id="index_heading"></h3>​ 

Существует скрипт, который устанавливает переменную в строку, которая приходит после того, как хэш-тега (например, «одежда»). Я хотел бы взять эту переменную, искать список для элемента со ссылкой, которая заканчивается на «apparel», и установить тег H3 в «Одежда и одежда».

Переменная задается щелчком мыши, а также проверяет URL-адрес при загрузке страницы, поэтому я не могу использовать функцию, основанную на щелчке мыши.

Вот код, я играл с, но не работает:

// manually set url variable for testing 
url = 'apparel'; 
$('#index_heading').html($("#select_nav a[value.match(/url$/)]").text()); 

Любая помощь будет принята с благодарностью.

ответ

0

Используйте jQuery's Attribute contains селектор, и ваш код должен работать:

url = 'apparel'; 
$('#index_heading').html($("#select_nav a[href*='"+url+"']").text());​​​​​​​​​​​​​​​​ 

Демо здесь: http://jsfiddle.net/5WqVz/

+0

Просто протестирован и отлично работает. Благодаря! – lukemcd

+0

@lukemcd: Добро пожаловать! –

0

Вы можете попробовать сделать свои регулярные выражения чувствителен к регистру /url$/i

0

Попробуйте это:

// manually set url variable for testing 
url = 'apparel'; 
var wantedId = ""; 

$('a').each(function() { 
    if($(this).attr("href").split("#")[1] == url) { 
     wantedId=$(this).id; 
    } 
});​​ 

$('#index_heading').html($("#" + wantedId).text()); 
Смежные вопросы